"Параметр недопустим". в новом растровом изображении
Я получаю это исключение:
Система.Исключение ArgumentException приходило сообщение="параметр не является допустимым." исходная система.Рисунок" StackTrace: at System.Рисование.Растровое изображение..чтор(ширина типа int32, int32 отсчитываемый высота, PixelFormat формат) в систему.Рисование.Растровое изображение..чтор(ширина типа int32, int32 и высота)...
когда я создаю экземпляр нового растрового изображения таким образом:
Bitmap resImage = new Bitmap(width, height); resImage.SetResolution(600, 600);
где ширина и высота-это размеры, преобразованные в пикселях для 600 точек на дюйм размера, установленного пользователем в СМ, что в данном конкретном случае составляет 28х41 см (изображение формата А3), соответствующее 6614х9685 пикселям. После этого я создам графический объект из растрового изображения и нарисую на нем с помощью методов GDI+. Мне нужно изображение с высоким разрешением, потому что оно будет добавлено в pdf-документ, и я хочу получить отличный качественный результат.
Я получаю это исключение как из приложения windows, так и из веб-приложения, но поскольку это непрерывный процесс генерации такого рода растровых изображений, исключение выбрасывается после разного времени повторения в зависимости от типа приложения и размера изображения. В частности, я получаю ошибку после порядка сотых изображений, созданных в приложении windows, и десятых в веб-приложении.
Я уже избавился от всех графических объектов и теперь действительно не знаю, что делать!
Почему я получаю это исключение? Как я могу решить эту проблему?
Заранее спасибо за любую помощь!
johannesnestler
похоже, вы устанавливаете <= 0 в качестве ширины или высоты, проверили ли вы (отладили) фактические значения, когда получаете это исключение?
Sara Noemi
Да, на самом деле эти значения составляют 6614x9685 пикселей; я проверил их при отладке.
johannesnestler
Хм, звучит довольно странно, что вы видите ошибку только иногда, извините, у меня нет другой идеи, чтобы помочь вам в данный момент :-(
Sara Noemi
Похоже, что после нескольких циклов создания растрового изображения возникает проблема переполнения памяти или что-то в этом роде..