WPF无需写入文件即可加载图像

时间:2013-12-14 01:44:41

标签: c# wpf

有没有办法可以从base64字符串或内存中的字节数组中显示gif,png,jpg,tiff等图像而不必将它们写入磁盘?

1 个答案:

答案 0 :(得分:2)

不要求图像源是本地文件的路径。即您可以从字节数组创建BitmapSource(直接或首先从流中读取所有字节)并使用它。

来自BitmapSource的MSDN示例:

// Define parameters used to create the BitmapSource.
PixelFormat pf = PixelFormats.Bgr32;
int width = 200;
int height = 200;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;

// Create a BitmapSource.
BitmapSource bitmap = BitmapSource.Create(width, height,
    96, 96, pf, null,
    new byte[rawStride * height], rawStride);

// Create an image element;
Image myImage = new Image() { Width = 200 };
// Set image source.
myImage.Source = bitmap;