Я получаю исключение OutOfMemory
при попытке изменить размеры больших изображений. Наш сервер может изменять размеры изображений менее 1000x1000 пикселей. Кажется, моя машина разработки обрабатывает любой размер, а другие машины разработчика имеют те же ограничения, что и сервер. Моя машина для разработки также лучшая спецификация.
Мне кажется, что этот код правильно удаляет все объекты, но я могу ошибаться. Я пытался использовать perfmon для просмотра памяти .Net CLR, но не уверен, как интерпретировать результаты.
Я застрял в том, как наилучшим образом решить эту проблему и получить окончательный ответ о том, почему проблема существует. Будем весьма благодарны за любые идеи по отладке.
Редактировать: ошибка возникает на g.DrawImage
using(Image imgToResize = Image.FromFile(path))
{
using (Bitmap b = new Bitmap(ResizeWidth, ResizeHeight, PixelFormat.Format24bppRgb))
{
using(Graphics g = Graphics.FromImage(b))
{
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.DrawImage(imgToResize, 0, 0, ResizeWidth, ResizeHeight);
b.Save(DiskPathThumb(maxSize), ImageFormat.Jpeg);
}
}
}