Я пишу приложение для рисования некоторых изображений для меня, используя некоторые промежуточные растровые изображения, но я получаю ошибку недопустимого параметра от GDI + (класс графики), если я избавляюсь от промежуточного растрового изображения, используемого для изменения размера изображения дорастровое изображение нарисовано.
Само приложение предназначено для приема входных изображений и вывода их обрезанных и измененных размеров в файл изображения.Теперь это означает, что в определенный момент времени измененное изображение сохраняется в промежуточном растровом изображении.Когда изменение размера выполнено, промежуточное растровое изображение назначается исходному растровому изображению, которое затем рисуется с помощью GDI +, и промежуточное изображение удаляется.Однако по какой-то причине, если посредник удаляется до того, как исходное изображение перерисовывается (несмотря на то, что его значения присваиваются другой переменной и теоретически не нужны), программа выдает ошибку неверного параметра, и мне было любопытно, почему.
Этоversion выдает неверный параметр error
using system.drawing;
Bitmap Background = new Bitmap(*filepath*);
Bitmap Image = new Bitmap(*another filepath*);
Bitmap ResizedImage = new Bitmap(825, 1125);
...Some code that clips and resizes Image and draws it onto ResizedImage...
Image = ResizedImage;
ResizedImage.Dispose();
using(Graphics g = Graphics.FromImage(Background)
{
g.DrawImage(Image, 0, 0, 825, 1125);
}
Но эта версия не меняется, и изменяется только позиция одной строки
using system.drawing;
Bitmap Background = new Bitmap(*filepath*);
Bitmap Image = new Bitmap(*another filepath*);
Bitmap ResizedImage = new Bitmap(825, 1125);
...Some code that clips and resizes Image and draws it onto ResizedImage...
Image = ResizedImage;
using(Graphics g = Graphics.FromImage(Background)
{
g.DrawImage(Image, 0, 0, 825, 1125);
ResizedImage.Dispose();
}
Поскольку ResizedImage копирует свое содержимое в Image до его удаленияиз, изображение должно рисоваться очень хорошо, но я получаю ошибку неверного параметра, если я использую первый бит кода, и я просто хотел знать, почему.Я предполагаю, что это как-то связано с тем, как растровые назначения на самом деле работают, чем я не знаю, но некоторые более мудрые советы высоко ценятся.