私は16bppのビットマップを持っています。ASP.NET側でその画像を8bpp画像に変換したいと思います。
私はインターネットで見つけた多くのオプションを試しましたが、何もうまくいきません。
私もそのように試しました:C#32bpp画像を8bppに変換する
しかし、ファイルを保存したい場合、次のエラーが発生します。
例外の詳細:System.Runtime.InteropServices.ExternalException:GDI+で一般的なエラーが発生しました。
Line 278: System.Drawing.Image img2 = Convert(bm_resize);//byteArrayToImage(gray);
Line 279:
Line 280: img2.Save(helper+"grey2.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
Line 281: }
Line 282:
私の問題の正しい方法はありますか?
完全なコード:
System.Drawing.Image img2 = Convert(bm_resize);
img2.Save(path+"test.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
public static System.Drawing.Image Convert(Bitmap oldbmp)
{
using (MemoryStream ms = new MemoryStream())
{
oldbmp.Save(ms, ImageFormat.Gif);
ms.Position = 0;
return System.Drawing.Image.FromStream(ms);
}
}