来自文件的BitmapSource

in4*_*man 24 c# wpf

如何BitmapSource从图像文件加载?

iul*_*000 43

这对我有用:

BitmapSource bSource = new BitmapImage(new Uri("c:\\image.bmp"));
BitmapImage bImage = new BitmapImage(new Uri("c:\\image.bmp"));
Run Code Online (Sandbox Code Playgroud)


Chr*_*l52 7

您可以将映像的字节从磁盘读取为字节数组,然后创建BitmapImage对象.

var stream = new MemoryStream(imageBytes);
var img = new System.Windows.Media.Imaging.BitmapImage();

img.BeginInit();
img.StreamSource = stream;
img.EndInit();

return img;
Run Code Online (Sandbox Code Playgroud)

  • 但这会泄漏MemoryStream!您需要设置CacheOption = OnLoad并在之后处理流. (5认同)

ser*_*gtk 5

代码如下:

FileStream fileStream = 
    new FileStream(fileName, FileMode.Open, FileAccess.Read);

var img = new System.Windows.Media.Imaging.BitmapImage();
img.BeginInit();
img.StreamSource = fileStream;
img.EndInit();
Run Code Online (Sandbox Code Playgroud)