Главная страница
Навигация по странице:

  • Canvas

  • Свойство Определяет Color

  • Style Стиль заполнения области ( bsSolid

  • Polyline

  • Add ListBox1ItemsAdd("Roman") Примердля ListBox'а. Для вставки строки в определенное место служит метод Insert


    Скачать 0.59 Mb.
    НазваниеAdd ListBox1ItemsAdd("Roman") Примердля ListBox'а. Для вставки строки в определенное место служит метод Insert
    Дата09.02.2022
    Размер0.59 Mb.
    Формат файлаdocx
    Имя файлаC.docx
    ТипУрок
    #356179
    страница4 из 17
    1   2   3   4   5   6   7   8   9   ...   17

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


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

    Карандаш и кисть, являясь свойствами объекта Canvas, в свою очередь представляют собой объекты Реn и Brush. Свойства объекта Реn (табл. 3.2) задают цвет, толщину и тип линии или границы геометрической фигуры. Свойства объекта Brush (табл. 3.3) задают цвет и способ закраски области внутри прямоугольника, круга, сектора или замкнутого контура.

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

    Свойство

    Определяет

    Color

    Цвет линии

    Width

    Толщину линии (задается в пикселах)

    Style

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

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

    Свойство

    Определяет

    Color

    Цвет закрашивания замкнутой области

    Style

    Стиль заполнения области (bsSolid – сплошная заливка). Штриховка: bsHorizontal – горизонтальная; bsVertical – вертикальная; bsFDiagonal – диагональная с наклоном линий впередbsBDiagonal – диагональная с наклоном линий назад; bsCross – в клетку; bsDiagCross – диагональная клетка

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

    void__fastcall TForml::FormPaint(TObject *Sender)

    {

    // полотнище флага

    Canvas › Pen › Width = 1;

    Canvas › Pen › Color = clBlack;

    Canvas › Brush › Color = clCream;

    Canvas › Rectangle(30.30.150.150);

    Canvas › Pen › Width =2; // ширина колец

    Canvas › Brush › Style = bsClear; // чтобы круг, нарисованный

    // методом Ellipse, не был закрашен

    // рисуем кольца

    Canvas › Pen › Color = clBlue; Canvas › Ellipse(40.40.80.80);

    Canvas › Pen › Color = clBlack; Canvas › Ellipse(70.40.110.80);

    Canvas › Pen › Color = clRed; Canvas › Ellipse(100.40.140.80);

    Canvas › Pen › Color = clYellow; Canvas › Ellipse(55.65.95.105);

    Canvas › Pen › Color = clGreen; Canvas › Ellipse(85.65.125.105);

    }

    Графические примитивы. Линия. Ломаная линия.


    Любая картинка, чертеж или схема могут рассматриваться как совокупность графических примитивов: точек, линий, окружностей, дуг и др. Таким образом, для того чтобы на экране появилась нужная картинка, программа должна обеспечить вычерчивание (вывод) графических элементов – примитивов, составляющих эту картинку.

    Вычерчивание графических примитивов на поверхности (формы или компонента image – области вывода иллюстрации) осуществляется применением соответствующих методов к свойству canvas этой поверхности.

    Линия


    Вычерчивание прямой линии выполняет метод LineTo. Метод рисует линию из той точки, в которой в данный момент находится карандаш (эта точка называется текущей позицией карандаша или просто "текущей"), в точку, координаты которой указаны в инструкции вызова метода. Например, оператор:

    Canvas › LineTo(100.200)

    Рисует линию в точку с координатами (100, 200), после чего текущей становится точка с координатами (100, 200).

    Начальную точку линии можно задать, переместив карандаш в нужную точку графической поверхности. Сделать это можно при помощи метода MoveTo, указав в качестве параметров координаты точки начала линии. Например, операторы:

    Canvas › MoveTo(10.10); // установить карандаш в точку (10.10)

    Canvas › LineTo(50.10); // линия из точки (10.10)в точку (50.10)

    Рисуют горизонтальную линию из точки (10, 10) в точку (50, 10).

    Используя свойство текущей точки, можно нарисовать ломаную линию. Например, операторы:

    Canvas › MoveTo(10.10);

    Canvas › LineTo(50.10);

    Canvas › LineTo(10.20);

    Canvas › LineTo(50.20);

    Рисуют линию, похожую на букву Z.

    Ломаная линия


    Метод Polyline вычерчивает ломаную линию. В качестве параметров методу передается массив типа TPoint, содержащий координаты узловых точек линии, и количество звеньев линии. Метод Polyline вычерчивает ломаную линию, последовательно соединяя точки, координаты которых находятся в массиве: первую со второй, вторую с третьей, третью с четвертой и т. д.

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

    TPoint p[4]; // координаты начала, конца и точек перегиба

    # задать координаты точек ломаной

    р[0].х = 100; р[0].у = 100; // начало

    р[1].х = 100; р[1].у = 150; // точка перегиба

    р[2].х = 150; р[2].у = 150; // точка перегиба

    р[3].х = 150; р[3].у = 100; // конец

    Canvas › Polyline(p,3}; // ломаная из трех звеньев

    Метод Polyline можно использовать для вычерчивания замкнутых контуров. Для этого надо, чтобы первый и последний элементы массива содержали координаты одной и той же точки.
    1   2   3   4   5   6   7   8   9   ...   17


    написать администратору сайта