我使用此代码以正确的格式剪切和保存图像,但我的图像正在保存"文件"而不是我期望的"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);
旁注:Image
、Bitmap
和MemoryStream
都实现了IDisposable
,所以你应该对它们调用Dispose
,或者最好将它们包装在一个using
语句中。