.NET - Граница вокруг измененного размера изображения

Я пытаюсь изменить размер изображения в .NET , но вокруг изображения с измененным размером появляется бледная черная рамка. Я нашел сообщение - http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/cf765094-c8c1-4991-a1f3-cecdbd07ee15/ от человека, который сказал, что прямоугольник назначения больше, чем холст, работал, но у меня это не работает. Он избавляется от верхней и левой границ, но правая и нижняя границы остаются на месте и представляют собой черный цвет толщиной 1 пиксель.

Я что-то упустил? Мой код ниже.

Image image = ... // this is a valid image loaded from the source
Rectangle srcRectangle = new Rectangle(0,0,width, height);
        Size croppedFullSize = new Size(width+3,height+3);
        Rectangle destRect = new Rectangle(new Point(-1,-1), croppedFullSize);
        using(Bitmap newImage = new Bitmap(croppedFullSize.Width, croppedFullSize.Height, format))
        using(Graphics Canvas = Graphics.FromImage(newImage)) {
            Canvas.SmoothingMode = SmoothingMode.AntiAlias;
            Canvas.InterpolationMode = InterpolationMode.HighQualityBicubic;
            Canvas.PixelOffsetMode = PixelOffsetMode.HighQuality;
            Canvas.FillRectangle(Brushes.Transparent, destRect);
            Canvas.DrawImage(image, destRect, srcRectangle, GraphicsUnit.Pixel);


            newImage.Save(filename, image.RawFormat);
        }

5
задан OJ. 28 March 2011 в 01:35
поделиться