Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Закрытая фигура может быть заполнена текстурой с помощью класса Image или класса TextureBrush.
Пример
В следующем примере показано, как заполнить многоточие изображением. Код создает объект Image, а затем передает адрес этого объекта Image в качестве аргумента конструктору TextureBrush. Третий оператор масштабирует изображение, а четвертый — заполняет эллипс повторяющейся копией масштабируемого изображения.
В следующем коде свойство Transform содержит преобразование, которое применяется к изображению перед рисованием. Предположим, что исходное изображение имеет ширину 640 пикселей и высоту 480 пикселей. Преобразование уменьшит изображение до 75×75, задавая значения горизонтального и вертикального масштабирования.
Замечание
В следующем примере размер изображения — 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));
Dim image As New Bitmap("ImageFile.jpg")
Dim tBrush As 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 и требует PaintEventArgse
, который является параметром обработчика событий Paint.
См. также
.NET Desktop feedback