我有一个 16bpp 的位图。我想将该图像在我的 ASP.NET 端转换为 8bpp 图像。
我尝试了很多在互联网上找到的选项,但对我没有任何作用。
我也试过这样:C# Converting 32bpp image to 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);
}
}