我有一些图像需要做一些粗略的调整大小的工作——为了这个例子的目的,假设我需要将给定图像的宽度和高度增加 4 个像素。我不确定为什么对 Graphics.DrawImage() 的调用会引发 OOM——这里的任何建议将不胜感激。
class Program
{
static void Main(string[] args)
{
string filename = @"c:\testImage.png";
// Load png from stream
FileStream fs = new FileStream(filename, FileMode.Open);
Image pngImage = Image.FromStream(fs);
fs.Close();
// super-hacky resize
Graphics g = Graphics.FromImage(pngImage);
g.DrawImage(pngImage, 0, 0, pngImage.Width + 4, pngImage.Height + 4); // <--- out of memory exception?!
// save it out
pngImage.Save(filename, System.Drawing.Imaging.ImageFormat.Png);
}
}