Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Кузьмины по VB.doc
Скачиваний:
47
Добавлен:
25.05.2014
Размер:
911.36 Кб
Скачать

Задание цвета

Параметр Цветво всех методах определяет цвет линии (точки). Если он не задан, то для рисования используется значение свойстваForeColor объекта-хозяина метода.

Для явногозадания значения цвета можно использовать:

  1. VB-константу, задающую цвет

    vbBlack

    Черный

    vbRed

    Красный

    vbGreen

    Зеленый

    vbYellow

    Желтый

    vbBlue

    Синий

    vbMagenta

    Фиолетовый (неточный перевод)

    vbCyan

    Голубой (неточный перевод)

    vbWhite

    Белый

  2. Функцию QBColor(n), гдеn- номер цвета, целое число от 0 то 15. Эта функция использует палитру из 16 цветов.

Число

Цвет

Число

Цвет

0

Black (черный)

8

Gray (серый)

1

Blue (голубой)

9

Light Blue (светло-голубой)

2

Green (зеленый)

10

Light Green

3

Cyan (бирюзовый)

11

Light Cyan

4

Red (красный)

12

Light Red

5

Magenta (малиновый)

13

Light Magenta

6

Yellow (желтый)

14

Light Yellow

7

White (белый)

15

Bright White

  1. Функцию RGB(n1,n2,n3). Эта функция использует палитру из 256 цветов. Параметрn1- целое число от 0 до 255, представляет красную компоненту цвета. Параметрn2- целое число от 0 до 255, представляет зеленую компоненту цвета. Параметрn3- целое число от 0 до 255, представляет голубую компоненту цвета.

Значение RGB-цвета определяет относительную интенсивность красного, зеленого и голубого цвета для получения необходимого цвета, который будет отображаться на экране. Чем меньше положить каждой краски, тем темнее цвет получится. Если значение некоторого цвета больше 255, то он заменяется на 255.

Например, для стандартных цветов будут такие значения – RGB-компонент:

Цвет

Red-значение

Green-значение

Blue-значение

Black (черный)

0

0

0

Blue (голубой)

0

0

255

Green (зеленый)

0

255

0

Cyan(бирюзовый)

0

255

255

Red(красный)

2550

0

0

Magenta(малиновый)

255

0

255

Yellow (желтый)

255

255

0

White (белый)

255

255

255

Свойства объектов, влияющих на графические методы:

Свойство

Смысл

DrawWidth

Толщина линии

ForeColor

Цвет линии

DrawStyle

Стиль линии:

1 - Solid(сплошная), 2 –Dash(штрих-пунктирная), 3 –Dot(пунктирная) и т.п.

Задается при толщине линий 1.

Fillstyle

Стиль (узор) заливки и будет ли заливка

FillColor

Цвет заливки

AutoRedraw

Определяет, будут ли автоматически восстанавливаться графика и напечатанный текст, случайно стертые из-за того, что объект скрылся из виду

DrawMode

Способ наложения краски. По умолчанию значение равно 13, когда краска плотно накладывается и предыдущая картинка через нее не просвечивает.

Управлять толщиной, цветом и другими атрибутами фигур можно следующим образом:

  1. Настроить соответствующие свойства объекта в режиме проектирования. Эти свойства будут воздействовать сразу на все методы.

  2. Задать изменение этих свойств в режиме работы программы. Бьет предыдущий.

  3. Задать многие атрибуты рисуемой фигуры можно в самом методе. Бьет оба предыдущих.

Пример задания стилей, толщины и цвета рисуемых линий

Private Sub Command1_Click() 'точка и окружность - тонкие, черные PSet (300, 1000) Circle (1000, 1000), 500 'изменение толщины линий DrawWidth = 20 'изменение цвета линий ForeColor = RGB(230, 250, 100) 'точка и окружность - толстые и цветные PSet (1800, 1000) Circle (2800, 1000), 500 End Sub

Private Sub Command1_Click() 'линия - тонкая, сплошная, черная Line (300, 500)-(4700, 500) 'изменение цвета линий ForeColor = RGB(230, 250, 100) 'изменение стиля линий DrawStyle = 2 'линия-тонкая, пунктирная, желтая Line (300, 1000)-(4700, 1000) 'изменение толщины линий DrawWidth = 20 'линия-толстая, сплошная, красная Line (300,1500)-(4700,1500),vbRed End Sub

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

Private Sub Command1_Click() 'прямоугольник окантован черной линией Line (300, 500)-(4700, 1000),,B 'изменение цвета линий ForeColor = RGB(230, 250, 100) 'прямоугольник залит желтым цветом Line (300, 1500)-(4700, 2000),,BF

'изменение цвета заливки FillColor = vbGreen 'задание стиля заливки FillStyle = 7

Line (300, 2500)-(4700, 3000),, B End Sub

Пример. Нарисовать «трубу» с помощью метода Circle в графическом окне размером 5000 х 3000.

Private Sub Command1_Click() Dim x As Integer x = 500 Do Until x > 4450 Picture1.Circle(x,1500),500,RGB(255,0,0) x = x + 50 Loop End Sub

Private Sub Command1_Click() Dim x As Integer Picture1.Cls x = 500 y = 2500 Do Until x > 4450 Picture1.Circle (x, y),500,RGB(255,0,0) x = x + 50 y = y – 25 ’х умножить на 2/2 For i = 1 To 100000 Next Loop End Sub

Пример. Нарисовать «компакт-диск» или «летающую тарелку». Радиус самого маленького круга взять 500, самого большого – во все графическое окно, радиусы соседних окружностей различаются на 10 – 30 твипов, цвет – желтый, коэффициент сжатия окружности взять меньше 1 – получится эллипс, сжатый по вертикали. Внутреннюю и внешнюю обводку сделать другого цвета.

Private Sub Command1_Click() Dim r As Integer Picture1.Cls x = 2500 y = 1500 r = 500 Do Until r > 1500 Picture1.Circle(x,y),r,RGB(255,255,0),,,0.4 r = r + 30 For i = 1 To 100000 Next Loop End Sub

Private Sub Command1_Click() Dim r As Integer Picture1.Cls x = 2500 y = 1500 r = 500 Picture1.ForeColor = RGB(155, 155, 0) Do Until r > 1470 Picture1.Circle (x, y),r,,,,0.4 r = r + 30 For i = 1 To 100000 Next Picture1.ForeColor = RGB(255, 255, 0) Loop Picture1.Circle(x,y),1500,RGB(155,155,0),,, 0.4 End Sub

Пример. Разлиновать графическое окно в клетку.

Private Sub Command1_Click() Picture1.Cls X1 = 500 Y1 = 0 X2 = 500 Y2 = 3000 Do Until X2 > 4500 Picture1.Line (X1, Y1)-(X2, Y2), vbWhite X2 = X2 + 500 X1 = X2 Loop X1 = 0 Y1 = 500 X2 = 5000 Y2 = 500 Do Until Y2 > 2500 Picture1.Line (X1, Y1)-(X2, Y2), vbWhite Y2 = Y2 + 500 Y1 = Y2 Loop End Sub