Практическое руководство. Обрезка изображения по границам области обрезки
Одно из свойств объекта Graphics класс является отсеченную область. Все операции рисования, выполняемые заданного Graphics объекта будет ограничен отсеченную область объекта, Graphics объекта. Можно задать отсеченную область, вызвав SetClip метод.
Пример
В следующем примере создается путь, состоящий из одного многоугольника. Затем код создает область, на основе этого пути. Область передается SetClip метод Graphics рисовании объекта и затем две строки.
Ниже показан усеченные строки.
// Create a path that consists of a single polygon.
Point[] polyPoints = {
new Point(10, 10),
new Point(150, 10),
new Point(100, 75),
new Point(100, 150)};
GraphicsPath path = new GraphicsPath();
path.AddPolygon(polyPoints);
// Construct a region based on the path.
Region region = new Region(path);
// Draw the outline of the region.
Pen pen = Pens.Black;
e.Graphics.DrawPath(pen, path);
// Set the clipping region of the Graphics object.
e.Graphics.SetClip(region, CombineMode.Replace);
// Draw some clipped strings.
FontFamily fontFamily = new FontFamily("Arial");
Font font = new Font(
fontFamily,
36, FontStyle.Bold,
GraphicsUnit.Pixel);
SolidBrush solidBrush = new SolidBrush(Color.FromArgb(255, 255, 0, 0));
e.Graphics.DrawString(
"A Clipping Region",
font, solidBrush,
new PointF(15, 25));
e.Graphics.DrawString(
"A Clipping Region",
font,
solidBrush,
new PointF(15, 68));
Компиляция кода
Предыдущий пример предназначен для работы с Windows Forms и требует PaintEventArgs e
, который является параметром PaintEventHandler.