图像另存为文件而不是 png



我使用此代码以正确的格式剪切和保存图像,但我的图像正在保存"文件"而不是我期望的"png"。我该如何解决这个问题?

Rectangle dueDateRectangle = new Rectangle(symbolBounds.X1, symbolBounds.Y1, symbolBounds.X2 - symbolBounds.X1, symbolBounds.Y2 - symbolBounds.Y1);
PixelFormat format = src.PixelFormat;
Bitmap cloneBitmap = src.Clone(dueDateRectangle,format);
MemoryStream ms = new MemoryStream();
cloneBitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
ms.Position = 0;
Image i = Image.FromStream(ms);
i.Save("character" + counter, System.Drawing.Imaging.ImageFormat.Png);
counter++;

您的代码问题如下:

i.Save("character" + counter, System.Drawing.Imaging.ImageFormat.Png);

Save 方法的第二个参数是文件路径,可以是完整路径,也可以是相对路径。因此,您需要使用扩展名保存图像,在这种情况下可能.png

i.Save("character" + counter + ".png", System.Drawing.Imaging.ImageFormat.Png);

旁注:ImageBitmapMemoryStream都实现了IDisposable,所以你应该对它们调用Dispose,或者最好将它们包装在一个using语句中。

最新更新