Image を Byte 配列に変換するこの関数があります。
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 アルゴリズムを使用して圧縮された画像) をデコードしています。つまり、これは明らかにファイルがサポートされていないことを意味しますよね? 他の代替案を知っていますか?