Привет, Гость! Регистрация RSS
Четверг, 02.05.2024
Главная » Статьи » Основные статьи сайта

Рисование при выполнении программы

Приложения Windows осуществляют вывод графической информации на экран через специальную структуру данных, которая используется функциями GDI (graphics devices interface), и называется контекстом отображения.  К нему относятся три инструмента:

„     Шрифт;

„     Перо;

„     Кисть.

Есть специальные классы для использования графических средств:

§         TCanvas –  для контекста отображения;

§         TFont -  для шрифта;

§         TPen –  для пера;

§         TBrush – для кисти.

Связанные с этими классами объекты имеют свойства: Canvas, Font, Pen, Brush,

Изображения можно строить на поверхности формы различными инструментами.

Система Delphi  предоставляет возможность рисовать на поверхности компонентов в процессе выполнения приложения и создавать изображения при конструировании приложения. Есть также возможность построения диаграмм.

Основной класс для рисования – это TСanvas.  Объект Canvas объединяет в себе поле для рисования, карандаш, кисть и шрифт и применяется как поверхность рисования для объектов, которые прорисовывают свое собственное изображение.

Вся технология вывода графической информации на экран основывается на понятии  холста. Холст имеет большое число свойств и методов, позволяющих перемещаться по поверхности рисования, отображать графические примитивы, копировать изображения и их отдельные области, а также выводить текстовую информацию.  Объекты пера и кисти используются для прорисовки и заполнения геометрических фигур, а объект шрифта – для управления атрибутами текста, выводимого на поверхности.

Свойство шрифта формы Form1.Font (задает размер символов для управляющих элементов формы) не совпадает со свойством шрифта поверхности рисования формы Form1.Canvas.Font (определяет размер символов текста, отображаемого на форме с помощью класса Tcanvas. Шрифт поверхности рисования доступен только при выполнении программы).  

Canvas это поверхность визуальных объектов (например, формы, надписи, списка или компонента image, на которой соответствующие методы  могут вычерчивать графические примитивы (линия, ломаная линия, многоугольники, эллипс, дуга, квадрат, прямоугольник).  Наиболее часто рисование производится на поверхности формы.

По умолчанию область холста совпадает с клиентской областью формы или элемента управления. Эта область представляет собой ту часть объекта, которая не занята какими-то вспомогательными деталями оформления (заголовком окна, строкой меню, панелью командных кнопок, границами объекта, недоступными для вывода на них графической информации).

Свойство Canvas доступно при выполнении программы, поэтому получаемые с его помощью рисунки являются динамическими и существуют только в процессе работы приложений.  Рисунки могут быть неподвижными или анимационными, т.е. изменяющими свои размеры, форму и расположение.

Принцип отрисовки изображений:

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

При новом появлении этой области на экране графические данные, выведенные на нее ранее, не восстановятся, и их придется выводить снова.

Основную работу по выводу графики на поверхность формы должна выполнять функция обработки события OnPaint.

При выполнении различных графических операций используются типы:

§   TPoint –    используется для задания координат точки;

                     Описан следующим образом:

               Tpoint = record

                 X: Longint;

                 Y: Longint ;

                 End;

§   TRect – служит для определения прямоугольной области путем указания  координат левого верхнего и правого нижнего углов.

                    Описан следующим образом:

               Trect   =  record

                 Case Integer of

                 0: (Left, Top, Right, Bottom : Integer);

                 1: (TopLeft, BottomRight : TPoint) ;

                 End;

При выполнении графических операций используется текущий указатель позиции, который представляет собой невидимый маркер, определяющий позицию на поверхности рисования, начиная с которой выполняется следующая графическая операция.

Текущая позиция определяется горизонтальной Х и вертикальной Y  координатами. По умолчанию начало системы координат находится в левом верхнем углу поверхности рисования, а отсчет координат осуществляется в пикселах. 

Для перемещения текущего указателя в новую позицию можно использовать метод MoveTo(X,Y: Integer). В результате выполнения этой процедуры перо устанавливается в новую позицию  холста с координатами X и Y. При таком перемещении на холсте ничего не рисуется. 

Положение текущего указателя также изменяет методы, связанные с выводом на холст фигур и текста: при их выполнении текущий указатель остается в позиции, где завершается процесс вывода.

Нравится
Категория: Основные статьи сайта | Добавил: Dark_Green (20.09.2012)
Просмотров: 3504 | Теги: шрифт, перо, Brush, кисть, Pen, FONT, canvas, delphi | Рейтинг: 0.0/0

Другие статьи
»
Изменение громкости на Delphi (0)
»
Применение ini-файлов в Delphi (1)
»
Загрузка изображения из графического файла с использованием стандартного диалога открытия графически... (0)
»
Визуальные стили в Delphi (0)
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]