Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Перед рисованием линий и фигур, отрисовки текста или отображения изображений с помощью GDI+необходимо создать Graphics объект. Объект Graphics представляет область рисования GDI+ и является объектом, используемым для создания графических изображений.
Существует два шага работы с графикой:
Создание объекта Graphics.
Graphics Использование объекта для рисования линий и фигур, отрисовки текста или отображения изображений и управления ими.
Создание графического объекта
Графический объект можно создать различными способами.
Создание графического объекта
Получите ссылку на графический объект как часть PaintEventArgs в событии Paint формы или элемента управления. Как правило, при создании кода рисования для элемента управления вы получаете ссылку на графический объект. Аналогичным образом можно также получить графический объект в качестве свойства PrintPageEventArgs при обработке PrintPage события для объекта PrintDocument.
-или-
CreateGraphics Вызовите метод элемента управления или формы, чтобы получить ссылку на Graphics объект, представляющий область рисования этого элемента управления или формы. Используйте этот метод, если вы хотите нарисовать форму или элемент управления, который уже существует.
-или-
Graphics Создайте объект из любого объекта, наследуемого отImage. Этот подход полезен при изменении уже существующего образа.
В следующих разделах приводятся сведения о каждом из этих процессов.
PaintEventArgs в обработчике событий Paint
При программировании PaintEventHandler для элементов управления или PrintPage для PrintDocument, графический объект предоставляется в качестве одного из свойств PaintEventArgs или PrintPageEventArgs.
Получение ссылки на объект Graphics из PaintEventArgs в событии Paint
Объявите Graphics объект.
Назначьте переменную для ссылки на объект Graphics, переданный в составе PaintEventArgs.
Вставьте код для рисования формы или элемента управления.
В следующем примере показано, как сделать ссылку на объект Graphics из события PaintEventArgs, находящегося в Paint.
Private Sub Form1_Paint(sender As Object, pe As PaintEventArgs) Handles _ MyBase.Paint ' Declares the Graphics object and sets it to the Graphics object ' supplied in the PaintEventArgs. Dim g As Graphics = pe.Graphics ' Insert code to paint the form here. End Sub
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs pe) { // Declares the Graphics object and sets it to the Graphics object // supplied in the PaintEventArgs. Graphics g = pe.Graphics; // Insert code to paint the form here. }
private: void Form1_Paint(System::Object ^ sender, System::Windows::Forms::PaintEventArgs ^ pe) { // Declares the Graphics object and sets it to the Graphics object // supplied in the PaintEventArgs. Graphics ^ g = pe->Graphics; // Insert code to paint the form here. }
Метод CreateGraphics
Можно также использовать CreateGraphics метод элемента управления или формы для получения ссылки на Graphics объект, представляющий область рисования этого элемента управления или формы.
Создание объекта Graphics с помощью метода CreateGraphics
CreateGraphics Вызовите метод формы или элемента управления, на котором требуется отрисовка графики.
Dim g as Graphics ' Sets g to a Graphics object representing the drawing surface of the ' control or form g is a member of. g = Me.CreateGraphics
Graphics g; // Sets g to a graphics object representing the drawing surface of the // control or form g is a member of. g = this.CreateGraphics();
Graphics ^ g; // Sets g to a graphics object representing the drawing surface of the // control or form g is a member of. g = this->CreateGraphics();
Создание из объекта изображения
Кроме того, можно создать графический объект из любого объекта, который происходит из класса Image.
Создание объекта Графики из изображения
Graphics.FromImage Вызовите метод, указав имя переменной Image, из которой требуется создать Graphics объект.
В следующем примере показано, как использовать Bitmap объект:
Dim myBitmap as New Bitmap("C:\Documents and Settings\Joe\Pics\myPic.bmp") Dim g as Graphics = Graphics.FromImage(myBitmap)
Bitmap myBitmap = new Bitmap(@"C:\Documents and Settings\Joe\Pics\myPic.bmp"); Graphics g = Graphics.FromImage(myBitmap);
Bitmap ^ myBitmap = gcnew Bitmap("D:\\Documents and Settings\\Joe\\Pics\\myPic.bmp"); Graphics ^ g = Graphics::FromImage(myBitmap);
Замечание
Объекты можно создавать Graphics только из неиндексированных .bmp файлов, таких как 16-разрядные, 24-разрядные и 32-разрядные файлы .bmp. Каждый пиксель неиндексированных .bmp файлов содержит цвет, в отличие от пикселей индексированных .bmp файлов, которые содержат индекс в таблицу цветов.
Рисование и управление фигурами и изображениями
После создания Graphics объект может использоваться для рисования линий и фигур, отрисовки текста или отображения изображений и управления ими. Основными объектами Graphics , используемыми с объектом, являются:
Класс Pen — используется для рисования линий, структурирования фигур или отрисовки других геометрических представлений.
Класс Brush — используется для заполнения областей графики, таких как заполненные фигуры, изображения или текст.
Класс Font — содержит описание того, какие фигуры следует использовать при отрисовке текста.
Структура Color — представляет различные цвета для отображения.
Использование созданного объекта Graphics
Работайте с соответствующим объектом, указанным выше, чтобы нарисовать то, что вам нужно.
Дополнительные сведения см. в следующих разделах:
Рендерить Смотри Линии Как нарисовать линию на форме Windows Фигуры Практическое руководство. Рисование контурной фигуры Текст Как нарисовать текст на форме Windows Изображения Практическое руководство. Отрисовка изображений с помощью GDI+
См. также
.NET Desktop feedback