Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры теория 113019.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
380 Кб
Скачать
☆

66. Графический режим. Функции черчения и Заполнения

С++ Builder позволяет программисту разрабатывать программы, которые работают с графикой.

Программа может вывести графику на поверхность формы (или компонента image), которой соответствует свойство canvas (Canvas — холст для рисова­ния). Для того чтобы на поверхности формы или компонента image появи­лась линия, окружность, прямоугольник или другой графический элемент (примитив), необходимо к свойству canvas применить соответствующий ме­тод.

Например, оператор Forml->Canvas->Rectangle(10,10,50,50); рисует на поверхности формы прямоугольник.

LineTo(x,y) - Рисует линию из текущей точки в точку с указанными координатами.

Rectangle(x1, y1, x2, y2) - Рисует прямоугольник, xl, y1 и x2, y2 — коор­динаты левого верхнего и правого нижнего уг­лов прямоугольника. Цвет границы и внутрен­ней области прямоугольника могут быть раз­ными

FillRect(xl,yl,x2,y2) - Рисует закрашенный прямоугольник, xl, yl, x2, y2 определяют координаты диагональных углов.

FrameRect(xl,yl,x2,y2) - Рисует контур прямоугольника, xl, yl, х2, у2 - определяют координаты диагональных углов.

RounRect(xl,yl,x2,y2,x3,y3) - Рисует прямоугольник со скругленными углами.

Ellipse(xl,yl,x2,y2) - Рисует эллипс или окружность (круг), xl. y1. х2. у2 - координаты прямоугольника, внутри которого вычерчивается эллипс или, если пря­моугольник является квадратом, окружность.

Polyline (points,n) - Рисует ломаную линию, points — массив типа TPoint. Каждый элемент массива представля­ет собой запись, поля х и у которой содержат координаты точки перегиба ломаной; n — коли­чество звеньев ломаной. Метод Polyline вы­черчивает ломаную линию, последовательно соединяя прямыми отрезками точки, координа­ты которых находятся в массиве: первую со второй, вторую с третьей, третью с четвертой и т. д.

Для рисования дуги эллипса (рис. П 6.2) используется функция

Arc (hdc, x1, y1, x2, y2, xStart, yStart, xEnd, yEnd);

в которой значения (x1, y1) задают левый верхний угол, (x2, y2) – правый нижний; (xStart, yStart) – начало дуги; (xEnd, yEnd) – конец дуги.

Rectangle – прямоугольник; Ellipse – эллипс; RoundRect – прямоугольник со скругленными углами; Chord – дуга кривой эллипса, концы которой соединены хордой; Pie – кусок, вырезанный из эллипса; Polygon – многоугольник; PolyPolygon – множество многоугольников.

Функция FillRect (hdc, &rect, hBrush); закрашивает прямоугольник (не включая правую и нижнюю координаты) заданной кистью.

Функция FrameRect (hdc, &rect, hBrush); использует кисть для рисования прямоугольной рамки, но не закрашивает внутреннюю область.

Функция InvertRect (hdc, &rect); инвертирует все пиксели в прямоугольнике, устанавливая единичные биты в ноль, а нулевые – в единицу, т.е. переводит белую область в черную, черную – в белую (зеленую – в фиолетовую).

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