可以';t将图像保存到MemoryStream
本文关键字:图像 保存 MemoryStream 可以 | 更新日期: 2023-09-27 18:29:47
我正在尝试将图像保存到MemoryStream
以获得字节数组。
using (MemoryStream ms = new MemoryStream()){
// Convert Image to byte[]
ms.Seek(0, SeekOrigin.Begin);
img.Save(ms, ImageFormat.RawFormat);
byte[] imageBytes = ms.ToArray();
return imageByates;
}
这段代码适用于具有以下属性的图像
Flags 77840
FrameDimensionList System.Guid[]
Heigth 2048
HorizontalResolution 72
Palette System.Drawing.Imaging.ColorPalette
PhysicalDimension {Width=1322, Height=2048}
Pixelformat Format24bppRgb
PropertyIDList 0 20625
PropertyIDList 1 20624
PropertyIDList 2 34675
PropertyItems System.Drawing.Imaging.PropertyItem
PropertyItems 0 System.Drawing.Imaging.PropertyItem
PropertyItems 1 System.Drawing.Imaging.PropertyItem
PropertyItems 2 System.Drawing.Imaging.PropertyItem
RawFormat [ImageFormat: b96b3cae-0728-11d3-9d7b-0000f81ef32e]
RawFormat height 2048 width 1322
Tag
VerticalResolution 72
Width 1322
我得到了另一个具有以下属性的图像的gdi+中发生的臭名昭著的一般错误
Flags 73744
FrameDimensionList System.Guid[]
Heigth 336
HorizontalResolution 96
Palette System.Drawing.Imaging.ColorPalette
PhysicalDimension {Width=251, Height=336}
Pixelformat Format24bppRgb
RawFormat [ImageFormat: b96b3cae-0728-11d3-9d7b-0000f81ef32e]
RawFormat height 336 width 251
Tag
VerticalResolution 96
Width 251
不同的是,前者是我从文件系统(使用Image.FromFile
)加载的jpeg图像。后者是我通过SDK接收的图像,可能是从存储在网络中的数据库中取出的。图像均为System.Drawing.Image
这里可能有什么问题?
需要进一步澄清问题的最后一段。
后者是我通过SDK收到的图像,大概需要它从存储在网络中的数据库中取出。图片都是System.Drawing.Image
如果你从引用的SDK接收流,那么你只需要读取流就可以获得字节数组,而无需使用Image.save(…
您将以何种形式接收图像作为流对象或System.Drawing.image对象?