因此,我目前正在研究一个图像调整器工作/工作相当好,但除了它给我一个OutOfMemoryException当我一次处理太多的图像崩溃程序。Bitmap ArgumentException返回使用语句后
因此,为了解决这个问题,我已经将方法封装在using语句中,以便Bitmaps可以正确处理。
但是我注意到,如果我回到using语句在我的位图我得到这个“ArgumentException的是未处理”的消息
这里我ImageResize方法:
public Bitmap ResizeImage(MemoryStream ms, Size size)
{
if (comboBox2.Text == "Pixel")
{
using (Bitmap img = new Bitmap(new Bitmap(ms, true), size.Width, size.Height))
{
var original = new Bitmap(ms, true);
Graphics graphic = Graphics.FromImage(img);
//IRRELEVANT CODE.....
return img;
}
}
else
{
return null;
}
在这里,当我尝试保存
private void button1_Click(object sender, EventArgs e)
{
//IRRELEVANT CODE ...
img = ResizeImage(memory, new Size(getX(), getY()));
//IRRELEVANT CODE ...
img.Save(outputFileName, codec, encoderParams); //<-Exception occurs here
}
当我删除using语句再次一切工作完全正常,但我必须使用日:我的ImageResize方法外树形象e使用块来处理Bitmap并为此防止内存泄漏。 另外,当我将图像保存在using语句中时,它也可以正常工作,但对我来说这不是一个解决方案。
我在做什么错?对我来说,似乎位图不能正确返回。
我感谢所有帮助和感谢提前 Ravand
我喜欢评论'/ IRRELEVANT CODE ...'。它属于[此线程](http://stackoverflow.com/q/184618/2596334)。 – 2014-11-21 13:12:24
哈哈哈贴吧,如果你喜欢:D,但老实说在这种情况下它是无关紧要的 – Ravand 2014-11-21 13:14:42