读取图像并将其存储在c#xaml中的数组中

时间:2015-07-27 07:32:54

标签: c# arrays wpf xaml image-processing

我正在尝试打开图像文件(JPEG或JPG)并将图像存储到c#xaml中的数组中。虽然我可以打开文件并将文件转换为位图图像,但我无法将其存储到数组中。这是我的代码:

(%3)

1 个答案:

答案 0 :(得分:3)

我不明白为什么你这么复杂。 如果要创建BitmapImage并且您有文件系统的路径,为什么不使用:

BitmapImage bImage = new BitmapImage(new Uri(dlg.FileName));

然后,您可以通过列表/数组轻松地将图像存储在数组/列表中:

List<BitmapImage> _images = new List<BitmapImage>();

_images.Add(bImage);

请注意,在数组/列表中存储大型图像可能会耗费大量内存。

修改

如果你想简单地存储字节数组:

byte[] buff = File.ReadAllBytes(dlg.FileName)

请注意,byte[]包含1个文件,因此如果您要存储多个文件,请使用2个国家byte[]byte[][])或List<byte[]>

获取图像的高度和宽度:

System.Drawing.Image img = System.Drawing.Image.FromFile(dlg.FileName);
Console.Write("Width: " + img.Width + ", Height: " + img.Height);