Объектно-ориентированное программирование» для студентов специальности 5В070300 «Информационные системы» идля оп 6В06120 «Информационные системы» Шымкент 2022


System.Пространство имен Drawing содержит классы Icon, Image, Color, Bitmap и другие классы.Graphics классы



бет30/43
Дата28.03.2023
өлшемі1,44 Mb.
#76860
1   ...   26   27   28   29   30   31   32   33   ...   43
Байланысты:
ООП ЛЕКЦИОННЫЙ КОМПЛЕКС 2022рус (1)

System.Пространство имен Drawing содержит классы Icon, Image, Color, Bitmap и другие классы.Graphics классы


Основным классом «рисования» на языке C# является класс Graphics. Он предназначен для вывода графической информации в форму программы. Чтобы построить что-то в дополнительном окне, он должен создать или получить объект класса Graphics для дополнительного окна. Затем, используя методы и свойства данного объекта, можно дополнительно нарисовать различные фигуры, тексты. В приложении вы должны определить обработчик событий по «рисованию», прежде чем создавать объект класса Graphics.
В Windows изменение перемещения и размера окна «отслеживается»специальным сообщением WM_PAINT. Он уведомляет приложение о необходимости перезагрузки окна в нужное время. Любая работа с окном-его перемещение по экрану монитора, изменение размеров и т.д. сопровождается требованием системы Windows «перерисовать картинку» окна. В приложении обработчик событий WM_PAINT после получения такого сообщения должен повторно вставить изображение его части в окно. Для предварительной подготовки обработчика событий WM_PAINT формы в окне свойств окна формы необходимо дважды щелкнуть мышью по пункту PAINT (рис.17.1).



17.1-сурет –WM_PAINTөңдеуішін құру


В результате создается обработчик событий WM_PAINT (Form1_Paint – рис.17.1). Это всегда выполняется в тех случаях, когда обработчик должен перерисовать образ окна. Обработчик события Paint создается следующим образом: private void Form1_Paint(object sender, PaintEventArgs e)


{
}
Два параметра отправляются в form1_paint. С помощью первого параметра передается ссылка на объект, вызвавший событие, в нашем случае ссылка становится Form1 (где рисовать).
Если рассматривать второй параметр, то через этот параметр передается ссылка на объект класса PaintEventArgs. Он имеет свойство ClipRectangle, предназначенное только для чтения объекта. Через свойство ClipRectangle передаются границы области и оно должно быть повторно вставлено обработчиком события Paint. Эти границы задаются как объекты класса Rectangle. Свойства left, Right, Width,Height этого класса помогают определить местоположение и размер области. Paint не учитывает свойство ClipRectangle, а вставляет окно обратно. Например,
private void Form1_Paint(object sender, PaintEventArgs e)
{ Pen myPen = new Pen(Color.Red, 2);
Graphics g = e.Graphics;
g.DrawEllipse(myPen, 100, 100, 100, 100);
}

В этом примере создается myPenо объект – «перо» для рисования красным цветом, толщиной в 2 пикселя. Для перестраиваемой области (всей формы) создается объект G типа Graphics. Обратите внимание, что new не используется. Затем запускается метод построения эллипса для объекта G. Особенностью объекта G типа Graphics является то, что объект является ориентиром в контексте устройства монитора (специальные программы системы Windows, связывающие приложение с драйвером видеокарты компьютера). С помощью контекстов устройств система Windows обеспечивает совместимость между приложениями и драйверами устройств компьютера, например, независимо от типа видеокарты код программы остается неизменным, а все проблемы с управлением видеокартой решает контекст устройства монитора. Работа программы представлена на рис. 17.2.



17.2-сурет – Эллипсті шығару


Как и другие классы в языке C#, класс Graphics имеет свойства и методы. Рассмотрим некоторые из них. Clear () - этот метод окрашивает объект Graphics в цвет, выбранный пользователем. Большая группа приемов для «построения " некоторых геометрических фигур: DrawArc(), DrawBezler(), DrawBeziers(), DrawCurve(), DrawEllipse(), DrawIcon(), DrawLine(), DrawLines(), DrawPie(), DrawPath(), DrawRectange(), DrawRectangles(), DrawString().


Для заполнения внутренних областей геометрических фигур используются методы со словом Fill, такие как FillPie (), FillElllpse() или FillRectangle(). Работу некоторых методов можно найти в книге "Визуальное проектирование приложений C#" (авторы А. В. Фролов, Г. В. Фролов. Часть 10). Следует отметить, что для получения объекта типа Graphics для перерисовки областей в обработчик событий Form1_Paint можно использовать метод creategraphics, выделенный из соответствующего объекта класса PaintEventArgs (форма, описанная в классах элементов управления). Например,
Graphics g = this.CreateGraphics(); или
Graphics g = Graphics.FromHwnd(this.Handle);
Графический объект может быть создан с помощью объекта Image. Такой подход используется для изменения заданного изображения (изображения), например,
Bitmap bm = new Bitmap( "d:\\picture.bmp" );
Graphics g = Graphics. FromImage( bm );




Достарыңызбен бөлісу:
1   ...   26   27   28   29   30   31   32   33   ...   43




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет