我创建了一个 WPF 项目,它有一个设置窗口作为主窗口,然后我从那里打开一个游戏窗口。打开游戏窗口时,下面的代码会从多张图像中创建一个长图像条。
var target = new System.Drawing.Bitmap((int)width, (int)height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
var graphics = System.Drawing.Graphics.FromImage(target);
graphics.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver;
int i = 0;
foreach (Image img in images)
{
System.Drawing.Image drawingImg = ConvertWpfImageToImage(img);
System.Drawing.Bitmap source = new System.Drawing.Bitmap(drawingImg);
graphics.DrawImage(source, i, 0);
i += 320;
}
target.Save(@".\resources\images\conveyerBeltSymbols\bigPicture.png");
第一次这似乎没问题(虽然我将位图图像保存为 png,我知道)但是当我关闭第二个窗口并尝试再次打开它时(也没有关闭第一个窗口)我得到External Exception was unhandled. A generic error occurred in GDI+
.
我尝试添加Dispose()
到两者中graphics
,target
并且还尝试添加ImageFormat.Png
到target.Save
方法中,但对我没有任何作用。
有没有人有解决方案?