频道栏目
首页 > 资讯 > 其他综合 > 正文

WPF Image控件显示网络图片

17-08-15        来源:[db:作者]  
收藏   我要投稿

WPF Image控件显示网络图片。

xaml代码就贴一个Image控件:

<img height="100" horizontalalignment="Left" name="image" verticalalignment="Top" width="100" />

加载代码也很简单:

public ImportWindow()
{
   InitializeComponent();
   //图片地址的cookie
   string cookie = "abtest=20170731114831940_65; mobilev=html5; downloadAppPlugIn_downCloseDate=1501473077298_86400000; guid=5786acf72feafd33a77eae9d9e475f39240b9e2d66b01848fe32886f8bc35b9b; shshshfpa=6563e0d9-1cec-0905-8c8f-1066978c7deb-1501473091; whwswswws=U6%2F4jUQFaa%2FLOnmIhn9mEM4lbCRoOqUXtpqaoxofJWhAp7SX6tDsOA%3D%3D; _jrda=1; TrackID=1LniGEEJTwAeWZoQVZcYPveu1zfMu2KFp3P9eOmsTDkaVJDNi2_k3dfUOt3OESuaTOmtFx6L0sBelTdp15kHkLp8bZx1hr7wzJeayWKUSZGk; pinId=FVd6lGAhM3h5HUZeAIYtf7V9-x-f3wj7; pin=jd_78e874d39dc63; unick=52005wpm; _tp=oxWZIWBwtDdSQnvZlRT9LIGj6fHnC1PW3J3xQyQl8vE%3D; _pst=jd_78e874d39dc63; unpl=V2_YDNtbUdQQUF9AREGfklcDGJRQFgSU0sddQpEAXsdXgVgAhtcclRCFXMUR11nGV0UZwMZWEpcQxVFCHZXfBpaAmEBFl5yBBNNIEwEACtaDlwJARRZRFNLFHIITl1LKV8FVwMTbUFfSxd0CkBcfylsAlczIl1EVEYRcjhHZHopHlE7ChRbQ1RKWHYATlZ6G1oNYzMTbUE%3d; __jdv=122270672|baidu-search|t_262767352_baidusearch|cpc|37575906198_0_463e98fc4a184cc4a599133d15316080|1502336952636; ipLoc-djd=1-72-2799-0; mt_xid=V2_52007VwAaWl9ZUFwXTSkMBGcERVBVX04NSx4aQAAwU0FOVQxWDQMbS1RWZlcaBQ1dB1kvShhcA3sCG05dWUNaH0IdXg5iBSJQbVhiWhxMEF4NYAUVYl5fWw%3D%3D; 3AB9D23F7A4B3C9B=IXJUEDXXYNUG6YED62OKBVQ7LGRQHMPTR44MH5CS75ECUCXMCIFCVTJCVKEOAUPXO5MC76L3OFA6NWVPAWT2CLCT3Q; lang=chs; lsid=5yb07crf3okz7by6v7n246dpmj8rbyog; shshshfp=247fe600c03c6e1e5d914b644d1c5817; shshshfpb=2e31dd5ae7fb5492c947e9d848612d70059712bf1e562a5e3b5fea8a62; TrackerID=vBSkTyNabO1W4xOuPi66E92jIxYTNbLQrECILCPcrJNnVhVYl7wntHbYC2ux6WWGrwv51YbzK-M2jKipw8Cr0Mk2_jJ_RI6lzfweqFZwf2E; pt_key=AAFZjTcPADDteQHoF0AUJFKRoBsq3nL6PaX0eBWwAqCNyaQUIeIXHGCy34_RF20ZKFIoMDjRMYs; pt_pin=anonymous-Aurora; pt_token=yv25cjar; pwdt_id=anonymous-Aurora; s_key=AAFZjTcPADCpEqUIKjw0GciUkBPIITTz-CykL5nF3whyYCsf_OdseiGdv2bd3mqFPEIOBhwWXBw; s_pin=anonymous-Aurora; USER_FLAG_CHECK=42a27536f20a85ccda959e2657f1b6bf; returnurl=\"https://m.jd.com?indexloc=1&sid=eca9ca08f981eaa929465178790539f0\"; m_uuid_new=559EE0955CDF39C603C8C45043D2708D; __jda=122270672.299303795.1501033309.1502336953.1502426875.4; __jdc=122270672; __jdu=299303795; autoOpenApp_downCloseDate_auto=1502426897076_1800000; sid=eca9ca08f981eaa929465178790539f0; recommendShow=show; mba_muid=299303795";
   //获取地址返回的图片字节数据
   byte[] btyarray = GetImageFromResponse("https://plogin.m.jd.com/cgi-bin/m/authcode?mod=login&v=0.9968985103928236",cookie);
   //字节数据转流
   MemoryStream ms = new MemoryStream(btyarray);
   //重点:设置Image控件的Source为流格式的图片数据
   //摘自CSDN:
   //http://bbs.csdn.net/topics/320086693      
   //17楼Error_Code回复,感谢!
   image.Source = BitmapFrame.Create(ms, BitmapCreateOptions.None, BitmapCacheOption.Default);
}

//从图片地址获取图片字节数据
public static byte[] GetImageFromResponse(string url, string cookie = null)
    {
		redo:
      try
      {
        System.Net.WebRequest request = System.Net.WebRequest.Create(url);
        if (!string.IsNullOrWhiteSpace(cookie))
        {
          request.Headers[System.Net.HttpRequestHeader.Cookie] = cookie;
        }


        System.Net.WebResponse response = request.GetResponse();


        using (Stream stream = response.GetResponseStream())
        {
          using (MemoryStream ms = new MemoryStream())
          {
            Byte[] buffer = new Byte[1024];
            int current = 0;
            do
            {
              ms.Write(buffer, 0, current);
            } while ((current = stream.Read(buffer, 0, buffer.Length)) != 0);


            //while ()
            //{


            //}
            return ms.ToArray();
          }
        }
      }
      catch (System.Net.WebException ex)
      {
        if (ex.Message == "基础连接已经关闭: 发送时发生错误。")
        {
          goto redo;
        }
        else
        {
          throw;
        }
      }
    }
相关TAG标签
上一篇:linux操作系统原理和实践
下一篇:算法导论 所有节点对的最短路径问题 矩阵法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站