5. Понятие холста.
Canvas — холст для рисования. Для того чтобы на поверхности формы или компонента image появилась линия, окружность, прямоугольник или другой графический элемент (примитив), необходимо к свойству Canvas применить соответствующий метод. Например, оператор Forml->Canvas->Rectangle(10,10,50, 50); рисует на поверхности формы прямоугольник.
Методы вычерчивания графических примитивов
Метод | Действие |
LineTo(x,y) | Рисует линию из текущей точки в точку с указанными координатами |
Rectangle (x1,y1,x2, y2) | Рисует прямоугольник, x1, y1 и х2, у2 — координаты левого верхнего и правого нижнего углов прямоугольника. Цвет границы и внутренней области прямоугольника могут быть разными |
FillRect (x1,y1,x2,y2) | Рисует закрашенный прямоугольник, x1, y1, х2, у2 — определяют координаты диагональных углов |
FrameRect(x1,y1,x2,y2) | Рисует контур прямоугольника, x1, y1, х2, у2 — определяют координаты диагональных углов |
Методы вывода графических примитивов рассматривают свойство canvas как некоторый абстрактный холст, на котором они могут рисовать (Canvas переводится как "поверхность", "холст для рисования"). Холст состоит из отдельных точек — пикселов. Положение пиксела на поверхности холста характеризуется горизонтальной (X) и вертикальной (Y) координатами. Координаты возрастают сверху вниз и слева направо (рис. 3.1). Левый верхний пиксел поверхности формы (клиентской области) имеет координаты (0, 0), правый нижний — (ciientwidth, clientHeight). Доступ к отдельному пикселу осуществляется через свойство Pixels, представляющее собой двумерный массив, элементы которого содержат информацию о цвете точек холста.
Карандаш и кисть Вид графического элемента определяют свойства Ре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); }
- Компьютерная графика.
- 2. Задачи кг.
- Графические функции примитивов.
- 4. Вывод текста.
- 5. Понятие холста.
- 6. Графические примитивы
- 7. Базовые компоненты
- 9. Метрическое пространство
- 10) Двумерные аффинные преобразования координат.
- Поворот Rotate
- Тражение Reflection
- Сдвиг (Деформация)
- Растяжение и сжатие
- 16. Окно и область вывода.
- 17. Растровая графика, общие сведения
- Достоинства и недостатки растровой графики
- 18. Цвет в растре. Модель rgb.Кодировка цвета и яркости.
- 19. Цвет в растре. Модель cmy.
- 20. Растровые дисплеи.
- 23. Системы с телевизионным растром
- 24. Видеоадаптер
- 25.Дисплеи с регенерацией
- 26. Понятие фрактала и фрактальной графики.
- 27. Построение линий на растре.
- 28. Алгоритм Брезенхэма
- 29. Векторная графика: назначение, элементы, структура.
- 30. Каноническое уравнение прямой.
- 31. Параметрическое уравнение прямой и уравнение в отрезках. Параметрические уравнения прямой
- 32. Алгоритм определения принадлежности точки внутренности треугольника
- 34. Кривая Безье. Геометрическая интерпретация.
- 35. Раскраска на основе растровой развертки.
- 36. Заливка области с затравкой
- 0.5.1 Простой алгоритм заливки
- 37. Понятие точки схода.
- 38. Перспективные преобразования: подходы и решения.
- 39. Видовое преобразование координат.
- 40. Перспективное преобразование координат.
- 41. Аналитическая модель поверхности
- Векторная полигональная модель
- 43. Равномерная сетка
- Неравномерная сетка. Изолинии