我有这个函数将图像转换为字节数组。
public byte[] imageToByteArray(System.Drawing.Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.MemoryBmp);
return ms.ToArray();
}
这是我调用该函数的代码。
private void btn_Click(object sender, EventArgs e)
{
inputPath=textbox1.text;
try
{
System.Drawing.Image img = Image.FromFile(inputPath);
byte[] str= imageToByteArray(img);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
当我运行程序或触发事件时,它会抛出一个异常,上面写着“内存不足” - 为什么会发生这种情况?
我正在使用这个函数来解码 .jls 图像(使用 JPEG-LS 算法压缩的图像)。所以这显然意味着该文件不受支持,对吧?你知道还有其他选择吗?