Show / Hide Table of Contents

Практическое руководство. Заливка фигуры текстурой, созданной на основе изображения

Можно заполнить замкнутой фигуры текстурой, созданной с помощью Image класс и TextureBrush класса.

Пример

В следующем примере заполняется эллипс с изображением. Код создает Image объекта, а затем передает адрес объекта Image объект в качестве аргумента для TextureBrush конструктор. Третья инструкция изменяет масштаб изображения, а четвертый оператор выполняет заливку эллипса повторяющиеся копии масштабированное изображение.

В следующем коде Transform свойство содержит преобразование, которое применяется к изображению перед его рисованием. Предположим, что исходное изображение имеет 640 пикселей в ширину и высоту 480 пикселей. Преобразование сжимает изображение до 75 × 75, задав значения масштабирования по горизонтали и вертикали.

Note

В следующем примере размер изображения равно 75 × 75 и размер эллипса — 150 × 250. Так как изображение меньше заполняемой эллипса, эллипса выполняется мозаичное заполнение с использованием образа. Достигнут мозаичное заполнение означает, что изображение повторяется горизонтально и вертикально до границы фигуры. Дополнительные сведения о мозаичного заполнения, см. в разделе как: Мозаичное заполнение фигуры заданным изображением.

Image image = new Bitmap("ImageFile.jpg");
TextureBrush tBrush = new TextureBrush(image);
tBrush.Transform = new Matrix(
   75.0f / 640.0f,
   0.0f,
   0.0f,
   75.0f / 480.0f,
   0.0f,
   0.0f);
e.Graphics.FillEllipse(tBrush, new Rectangle(0, 150, 150, 250));

Компиляция кода

Предыдущий пример предназначен для работы с Windows Forms и требует PaintEventArgs e, который является параметром Paint обработчик событий.

См. также

  • Использование кисти для заливки фигур
Back to top Неофициальная документация по .NET на русском языке. Лицензия: CC-BY 4.0. Основано на документации по .NET с Microsoft Docs
Generated by DocFX