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

Графические примитивы

 

процедуры вывода графических примитивов на заданный объект.

 

Точка.

 

[объект.] Pset (x,y) [,цвет] - где (x,y) - координаты точки

 

 

Линия (отрезок), прямоугольник.

 

[объект.] Line [(x1,y1)] - (x2,y2) [,Цвет] [,B[F]]

 

- где (x1,y1) - координаты начальной точки отрезка. Если они не указаны, отрезок начинается от текущей позиции. Координаты конечной точки отрезка (x2,y2) нужно указывать обязательно.

 

Параметр Цвет определяет цвет линии. Если он не задан, то для рисования используется значение свойства формы ForeColor. Для явного задания значения цвета можно использовать функцию QBColor(n) или RGB(n1,n2,n3).

 

Если указан параметр B (Box-прямоугольник), то вместо линии вычерчивается прямоугольник; пары координат определяют положение его противоположных по диагонали углов. Прямоугольник заполняется цветом (см. далее закраску фигур), указанным в FillColor, а тип заполнения определяется свойством FillStyle формы. Если указан параметр F, то прямоугольник закрашивается тем же цветом, что и границы. Параметр F используется только вместе с параметром B.

 

 

Окружность, дуга, сектор, эллипс.

 

Circle(x,y), R [,Цвет][[-]n1,[-]n2 [,n3]]

- где (x,y) - координаты центра окружности (дуги, сектора, эллипса)

 

Параметр Цвет определяет цвет линии. Если он не задан, то для рисования используется значение свойства формы ForeColor. Для явного задания значения цвета можно использовать функцию QBColor(n) или RGB(n1,n2,n3).

 

Параметры n1 и n2 определяют углы начала и конца дуги в радианах и отсчитываются против часовой стрелки. Знак минус перед параметрами является признаком сектора, а при его отсутствии вычерчивается дуга.

 

Параметр n3 определяет коэффициент сжатия при вычерчивании эллипса. Если его знамение меньше 1 то осуществляется сжатие в вертикальном направлении, если больше 1 - сжатие в горизонтальном направлении.

 

Закраска замкнутых фигур

 

Замкнутую фигуру - прямоугольник, окружность, сектор эллипс - можно закрасить (заливка). Для этого необходимо указать цвет и стиль закраски.

 

Стиль заливки

 

FillStyle = n

 

- где n - числа в диапазоне от 0 до 7, задающие сплошную закраску, закраску горизонтальной или вертикальной штриховкой и т. д.

 

Пример закраски замкнутых фигур

 

Рисунок1.FillColor = QBColor(8)

 

Рисунок1.FillStyle = 0

 

Рисунок1.Circle (150, 150), 60, RGB(0, 0, 225)

 

 

Таблица цветов

 

Номер

Цвет

0 Чёрный

1 Синий

2 Зелёный

3 Циан

4 Красный

5 Мажента

6 Жёлтый

7 Белый

8 Серый

9 Светло-синий

10 Светло-зелёный

11 Светлый циан

12 Светло-красный

13 Светлая мажента

14 Светло-жёлтый

15 Ярко-белый

 

 

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

на графическое поле (PictureBox)

 

Точка

 

Picture1.Pset (3000,4500),RGB(0,20,255)

 

В скобках указываются координаты точки.

 

Например:

 

Линия из текущей точки:

 

Picture1.Line -(3000, 4000)

 

В скобках указаны координаты конца отрезка.

 

Линия по двум заданным точкам:

 

Picture1.Line(50,30) - (2000,2500),RGB(200,150,200)

 

В скобках указаны координаты противоположных концов отрезка.

 

 

Прямоугольник:

 

Picture1.Line(50,30) - (200,250),RGB(200,150,200), B

 

Команда для построения отрезка легко превращается в команду для построения прямоугольника: добавка параметра B превращает концы отрезка в противоположные вершины прямоугольника (левый верхний и правый нижний углы).

 

 

Окружность:

 

Picture1.Circle(130,250), 50, RGB(100,140,80)

 

В скобках указаны координат центра и после скобок - радиус окружности (в данном случае 50).

 

 

Дуга (часть окружности):

 

Picture1.Circle(200,200), 40, RGB(100,200,100), 2.4,3.8

 

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

 

Сектор (часть круга, ограниченная дугой и двумя радиусами):

 

Picture1.Circle(200,200), 40, RGB(100,200,100), -2.4, -3.8

 

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

 

Эллипс (окружность, сжатая в горизонтальном или вертикальном направлении):

 

Picture1.Circle(200,200), 40, RGB(100,200,100), , , 0.7

 

В скобках указаны координат центра и после скобок - радиус окружности, затем цвет и параметры, характеризующие начало и конец дуги (если сжимается вся окружность, то эти места остаются пустыми) и в конце - коэффициент сжатия. Число <1 указывает сжатие в вертикальном направлении, число >1 - сжатие в горизонтальном направлении.

Примеры использования процедур вывода графических примитивов на графическое поле (PictureBox)

 

Точка

 

Picture1.Pset (3000,4500),RGB(0,20,255)

В скобках указываются координаты точки.

 

Линия из текущей точки:

 

Picture1.Line -(3000, 4000)

В скобках указаны координаты конца отрезка.

 

Линия по двум заданным точкам:

 

Picture1.Line(50,30) - (2000,2500),RGB(200,150,200)

В скобках указаны координаты противоположных концов отрезка.

 

Прямоугольник:

 

Picture1.Line(50,30) - (200,250),RGB(200,150,200), B

Команда для построения отрезка легко превращается в команду для построения прямоугольника: добавка параметра B превращает концы отрезка в противоположные вершины прямоугольника (левый верхний и правый нижний углы).

 

Окружность:

 

Picture1.Circle(130,250), 50, RGB(100,140,80)

В скобках указаны координат центра и после скобок - радиус окружности (в данном случае 50).

 

Дуга (часть окружности):

 

Picture1.Circle(200,200), 40, RGB(100,200,100), 2.4,3.8

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

 

Сектор (часть круга, ограниченная дугой и двумя радиусами):

 

Picture1.Circle(200,200), 40, RGB(100,200,100), -2.4, -3.8

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

 

Эллипс (окружность, сжатая в горизонтальном или вертикальном направлении):

 

Picture1.Circle(200,200), 40, RGB(100,200,100), , , 0.7

В скобках указаны координат центра и после скобок - радиус окружности, затем цвет и параметры, характеризующие начало и конец дуги (если сжимается вся окружность, то эти места остаются пустыми) и в конце - коэффициент сжатия. Число <1 указывает сжатие в вертикальном направлении, число >1 - сжатие в горизонтальном направлении.

 

Пример закраски замкнутых фигур

 

Picture1.FillColor = QBColor(8)

 

Picture1.FillStyle = 0

 

Picture1.Circle (150, 150), 60, RGB(0, 0, 225)