Графические возможности в визуальном программировании

Графические возможности Delphi

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

Программа выводит графику на поверхность объекта (формы или компонента Image). Поверхности объекта соответствует свойство canvas. Для того чтобы вывести на поверхность объекта графический элемент (прямую линию, окружность, прямоугольник и т. д.), необходимо применить к свойству canvas этого объекта соответствующий метод. Например, инструкция Form1.Canvas.Rectangle (10,10,100,100) вычерчивает в окне программы прямоугольник.

Графические инструменты Delphi

Разработчики Delphi уделили большое внимание возможностям работы с деловой графикой: простота и удобство ее использования напрямую сказываются на простоте и удобстве созданных приложений. Вместо дебрей графического интерфейса Windows разработчик получил несколько инструментов, сколь понятных, столь же и мощных.

В стандартном графическом интерфейсе Windows (GDI) основой для рисования служит дескриптор контекста устройства нос и связанные с ним шрифт, перо и кисть. В состав VCL входят объектно-ориентированные надстройки над последними, назначением которых является удобный доступ к свойствам инструментов и прозрачная для пользователя обработка всех их изменений.

Обязательным для любого объекта, связанного с графикой в Delphi, является событие:

property OnChange: TNotifyEvent;

Его обработчик вызывается всякий раз, когда меняются какие-то характеристики объекта, влияющие на его внешний вид.

Холст

Как было сказано ранее, поверхности, на которую программа может выводить графику, соответствует свойство Canvas. В свою очередь, свойство canvas — это объект типа TCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации.

Методы вывода графических примитивов рассматривают свойство Canvas как некоторый абстрактный холст, на котором они могут рисовать (canvas переводится как "поверхность", "холст для рисования"). Холст состоит из отдельных точек — пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Левый верхний пиксел имеет координаты (0, 0). Координаты возрастают сверху вниз и слева направо (рис. 16). Значения координат правой нижней точки холста зависят от размера холста.

Рис. 16.Координаты точек холста

Размер холста можно получить, обратившись к свойствамHeight и width области иллюстрации(image) или к свойствам формы:ClientHeight и Clientwidth

Карандаш и кисть

Художник в своей работе использует карандаши и кисти. Методы, обеспечивающие вычерчивание на поверхности холста графических примитивов, тоже используют карандаш и кисть. Карандаш применяется для вычерчивания линий и контуров, а кисть — для закрашивания областей, ограниченных контурами.

Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойства Реn (карандаш) и Brush (кисть), которые представляют собой объекты типа треп и TBrush, соответственно. Значения свойств этих объектов определяют вид выводимых графических элементов.

Карандаш

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

Таблица 1.Свойства объекта треп (карандаш)

       
  Свойство Определяет  
  Color Цвет линии  
  Width Толщину линии  
  Style Вид линии  
  Mode Режим отображения  
       

Свойство Color задает цвет линии, вычерчиваемой карандашом. В табл. 2 перечислены именованные константы (тип TCoior), которые можно использовать в качестве значения свойства color.

Таблица 2.Значение свойства Color определяет цвет линии

           
  Константа Цвет Константа Цвет  
  clBlack Черный clSilver Серебристый  
  clMaroon Каштановый clRed Красный  
  clGreen Зеленый clLime Салатный  
  clOlive Оливковый clBlue Синий  
  clNavy Темно-синий clFuchsia Ярко-розовый  
  clPurple Розовый clAqua Бирюзовый  
  clTeal Зелено-голубой clWhite Белый  
  clGray Серый      
           

Свойство width задает толщину линии (в пикселах). Например, инструкция Canvas. Pen. width: =2 устанавливает толщину линии в 2 пиксела.

Свойство style определяет вид (стиль) линии, которая может быть непрерывной или прерывистой, состоящей из штрихов различной длины. В табл.3 перечислены именованные константы, позволяющие задать стиль линии. Толщина пунктирной линии не может быть больше 1. Если значение свойства Pen.width больше единицы, то пунктирная линия будет выведена как сплошная.

Таблица 3.Значение свойства Реn. туре определяет вид линии

       
  Константа Вид линии  
  psSolid Сплошная линия  
  psDash Пунктирная линия, длинные штрихи  
  psDot Пунктирная линия, короткие штрихи  
  psDashDot Пунктирная линия, чередование длинного и короткого штрихов  
  psDashDotDot Пунктирная линия, чередование одного длинного и двух коротких штрихов  
  psClear Линия не отображается (используется, если не надо изображать границу области, например, прямоугольника)  
       

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

Однако программист может задать инверсный цвет линии по отношению к цвету фона. Это гарантирует, что независимо от цвета фона все участки линии будут видны, даже в том случае, если цвет линии и цвет фона совпадают.

В табл. 4 перечислены некоторые константы, которые можно использовать в качестве значения свойства Pen.Mode.

Таблица 4.Значение свойства Реп. Mode влияет на цвет линии

       
  Константа Цвет линии  
  pmBlack Черный, не зависит от значения свойства Pen. Color  
  pmWhite Белый, не зависит от значения свойства Pen. Color  
  pmCopy Цвет линии определяется значением свойства Pen . Color  
  pmNotCopy Цвет линии является инверсным по отношению к значению свойства Pen. Color  
  pmNot Цвет точки линии определяется как инверсный по отношению к цвету точки холста, в которую выводится точка линии  
       

Кисть

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

Таблица 5.Свойства объекта TBrush (кисть)

       
  Свойство Определяет  
  Color Style Цвет закрашивания замкнутой области Стиль (тип) заполнения области  
       

Область внутри контура может быть закрашена или заштрихована. В первом случае область полностью перекрывает фон, а во втором — сквозь незаштрихованные участки области будет виден фон.

В качестве значения свойства Color можно использовать любую из констант типа TColor (см. список констант для свойства Pen.color в табл. 2).

Константы, позволяющие задать стиль заполнения области, приведены в табл. 6.

Таблица 6.Значения свойства Brush, style определяют тип закрашивания

       
  Константа Тип заполнения (заливки) области  
  bsSolid Сплошная заливка  
  bsClear Область не закрашивается  
  bsHorizontal Горизонтальная штриховка  
  bsVertical Вертикальная штриховка  
  bsFDiagonal Диагональная штриховка с наклоном линий вперед  
  bsBDiagonal Диагональная штриховка с наклоном линий назад  
  bsCross Горизонтально-вертикальная штриховка, в клетку  
  bsDiagCross Диагональная штриховка, в клетку  
       

В качестве примера в листинге1 приведена программа Стили заполнения областей,которая в окно выводит восемь прямоугольников, закрашенных черным цветом с использованием разных стилей.

Рис. 17.Окно программы Стили заполнения областей








Дата добавления: 2016-03-04; просмотров: 776;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.