Практическое руководство. Обрезка и масштабирование изображений
Graphics Класс предоставляет несколько DrawImage методы, некоторые из которых имеют параметры прямоугольника источника и назначения, которые можно использовать для обрезки и масштабирования изображений.
Пример
В следующем примере создается Image объект из файла Apple.gif. Код рисует изображение всей apple в его исходном размере. Затем код вызывает DrawImage метод Graphics для рисования фрагмента изображения apple в прямоугольник назначения, который больше, чем исходное изображение apple.
DrawImage Метод определяет, какая часть элемента apple для рисования, просмотрев исходный прямоугольник, который задается в-четвертых, третий, пятая и шестая аргументы. В этом случае apple обрезается 75 процентов от его ширины и 75% высоты.
DrawImage Метод определяет, где рисовать обрезанное apple и как осуществлять обрезанное apple, просмотрев целевого прямоугольника, который указан с помощью второго аргумента. В этом случае целевого прямоугольника — 30% шире и 30% выше, чем исходное изображение.
Ниже показан исходный apple и масштабированное обрезанное изображение.
Image image = new Bitmap("Apple.gif");
// Draw the image unaltered with its upper-left corner at (0, 0).
e.Graphics.DrawImage(image, 0, 0);
// Make the destination rectangle 30 percent wider and
// 30 percent taller than the original image.
// Put the upper-left corner of the destination
// rectangle at (150, 20).
int width = image.Width;
int height = image.Height;
RectangleF destinationRect = new RectangleF(
150,
20,
1.3f * width,
1.3f * height);
// Draw a portion of the image. Scale that portion of the image
// so that it fills the destination rectangle.
RectangleF sourceRect = new RectangleF(0, 0, .75f * width, .75f * height);
e.Graphics.DrawImage(
image,
destinationRect,
sourceRect,
GraphicsUnit.Pixel);
Компиляция кода
Предыдущий пример предназначен для работы с Windows Forms и требует PaintEventArgs e
, который является параметром Paint обработчик событий. Не забудьте заменить Apple.gif
путь, допустимые в вашей системе и имя файла изображения.