wpf读取网络图片:
private void ViewImage(string fileUri)
{
BitmapImage bitImage = new BitmapImage();
bitImage.BeginInit();
bitImage.UriSource = new Uri(fileUri, UriKind.Absolute);
bitImage.DecodePixelWidth = 300;
bitImage.EndInit();
imgView.Source = bitImage;
}
/// <summary>
/// 根据图片文件的路径使用文件流打开,并保存为byte[]
/// </summary>
/// <param name="imagepath"></param>
/// <returns></returns>
static public byte[] GetPictureData(string imagepath)
{
FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, byData.Length);
fs.Close();
return byData;
}
static public BitmapImage ByteArrayToBitmapImage(byte[] byteArray)
{
BitmapImage bmp = null;
try
{
bmp = new BitmapImage();
bmp.BeginInit();
bmp.StreamSource = new MemoryStream(byteArray);
bmp.EndInit();
}
catch
{
bmp = null;
}
return bmp;
}
static public BitmapImage GetBitImage(Uri uri)
{
BitmapImage bmp = new BitmapImage();
bmp.DecodePixelHeight = 250; // 确定解码高度,宽度不同时设置
bmp.BeginInit();
// 延迟,必要时创建
bmp.CreateOptions = BitmapCreateOptions.DelayCreation;
bmp.CacheOption = BitmapCacheOption.OnLoad;
bmp.UriSource = uri;
bmp.EndInit(); //结束初始化
return bmp;
}
参考:
https://www.cnblogs.com/lonelyxmas/p/12164922.html
https://www.cnblogs.com/tcjiaan/p/5532104.html