Мне нужно масштабировать изображение, и у меня есть проблема с использованием графики для этого. Я использую DrawImage, передаю исходное изображение, новое местоположение (0, 0) и новый размер. Изображение результата масштабируется, но его верхний и левый края прозрачны. Кто-нибудь знает, почему? Мой код:Различия при масштабировании изображений
Rectangle DstRec = new Rectangle(0, 0, (int) (CurrentImage.ImgBM.Width * Zoom), (int) (CurrentImage.ImgBM.Height * Zoom));
//ReducedBM = new Bitmap((int)(CurrentImage.ImgBM.Width * Zoom), (int)(CurrentImage.ImgBM.Height * Zoom));
ReducedBM = new Bitmap(CurrentImage.ImgBM, DstRec.Width, DstRec.Height);
Graphics g = Graphics.FromImage(ReducedBM);
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//g.DrawImage(CurrentImage.ImgBM, 0, 0, (int)(CurrentImage.ImgBM.Width * Zoom), (int)(CurrentImage.ImgBM.Height * Zoom));
g.DrawImage(CurrentImage.ImgBM, DstRec);
g.Dispose();
Если вы используете перегрузку конструктора, которая выполняет все масштабирование, зачем рисовать изображение снова? Масштабирование должно выполняться со второй строкой, нет? - Или используйте перегрузку DrawImage с двумя прямоугольниками! – TaW