我使用以下代码输出我的计算结果,它应该是PNG图片。我不明白为什么在Debug运行中最后一行给我一个System.Runtime.InteropServices.ExternalException
。在发布运行中一切正常。
我在网上发现,当图像被其他代码部分使用时可能会出现此错误,但在我的情况下并非如此。
//using System;
//using System.Drawing;
//using System.Drawing.Imaging;
Bitmap png = new Bitmap(this.xPixels, this.yPixels, PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(png);
g.Clear(Color.White);
g.DrawString(currentTime, myFont, mySolidBrush, timeX, timeY, myXTitleFormat);
// write image to file
string path4 = string.Concat(Environment.CurrentDirectory, @"\Output\T1\" + this.fileName + ".png");
png.Save(path4, ImageFormat.Png);
答案 0 :(得分:0)
online help表示“图片以错误的图片格式保存”。
使用Graphics
对象执行操作也很奇怪,但使用Bitmap
保存。使用g
进行的操作是否会影响Bitmap
?
以下代码在调试或发布模式下引发异常:
{
Bitmap png = new Bitmap(100, 100, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics g = Graphics.FromImage(png);
g.Clear(Color.White);
g.DrawString("dummy", SystemFonts.DefaultFont, Brushes.Beige, RectangleF.FromLTRB(5,5,80,80), StringFormat.GenericDefault);
// write image to file
string path4 = @"C:\test.png";
png.Save(path4, System.Drawing.Imaging.ImageFormat.Png);
}