我正在尝试使用读卡器从EID读取图像并将其转换为字节数组以进行数据库存储。
阅读图像非常有效。我能够使用以下属性检索有效图像:
但是,我无法将其转换为字节数组。我正在使用这段代码,虽然我已经尝试过其他方法来转换它:
public static byte[] ImageToBytes(Image image)
{
MemoryStream stream = new MemoryStream();
image.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
return stream.ToArray();
}
调用Save方法会出现以下异常:
An exception of type 'System.Runtime.InteropServices.ExternalException' occurred in System.Drawing.dll but was not handled in user code
异常的细节不会清除任何内容。这是一个普遍的例外,没有关于出了什么问题的信息。
我一直在做错的任何想法?
答案 0 :(得分:1)
ImageFormat
在 this 文档中,提到如果使用错误的ExternalException
调用.Save()
将会引发ImageFormat
如果您将System.Drawing.Imaging.ImageFormat.Bmp
更改为image.RawFormat
示例:强>
public static byte[] ImageToBytes(Image image)
{
MemoryStream stream = new MemoryStream();
image.Save(stream, image.RawFormat);
return stream.ToArray();
}