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

Лабораторная работа 27

«Использование случайных величин при рисовании»

  1. Цель:Изучить графические возможности языка Visual Basic. Научиться использовать случайные величины при рисовании.
  2. Краткие теоретические сведения. Графический режим работы подразумевает использование методов, позволяющих создавать графические объекты: точки, отрезки, прямоугольники, окружности, дуги, сектора, эллипсы. Из этих элементарных объектов можно создавать более сложные.Общими параметрами для всех графических методов являются:

· координаты, определяющие его расположение в окне;

· цвет объекта;

· цвет заливки объекта, если он ограничен замкнутой линией.

Координаты расположения объектов

Координаты отсчитываются от левого верхнего угла окна. Единицей отсчета по умолчанию является Twip. В процессе разработки приложения можно изменить единицу измерения, используя свойство объекта ScaleMode. Имя объекта может отсутствовать. В таком случае по умолчанию метод применяется к форме.

[объект.] Scale (x1,y1) – (x2,y2)

Цвета

Цвет может задаваться двумя способами, в зависимости от выбранной палитры:

· 16 цветовая палитра использует команду QBcolor(n), где n - номер цвета:

· палитра, полученная при смешивании разного количества красного, зеленого и голубого цветов задается:

o командой RGB(n1,n2,n3). Здесь n1, n2 и n3 числа в диапазоне от 0 до 255, которые задают количество каждого из базовых цветов в полученном оттенке. Например: RGB(0, 255, 0) - задает зеленый цвет без примеси других оттенков (цветов).

o константами вида: &H8000000F&, &H000000FF& и т.д.

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

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

Точка.

 

[объект.] 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, задающие сплошную закраску, закраску горизонтальной или вертикальной штриховкой и т. д.

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

 

Picture1.FillColor = QBColor(8)

Picture1.FillStyle = 0

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

 

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

 

Номер Цвет
Чёрный
Синий
Зелёный
Циан
Красный
Мажента
Жёлтый
Белый
Серый
Светло-синий
Светло-зелёный
Светлый циан
Светло-красный
Светлая мажента
Светло-жёлтый
Ярко-белый

 

3. Задание: Создать проект звездное небо. На форме должны прорисовываться множество точек с произвольными координатами, белого цвета.

3.1. Этап создания экранной формы:

В предыдущей работе рисование производится непосредственно на форме. В данной работе на форме расположена только кнопка «Пуск», при щелчке по данной кнопке начинается процесс рисования. В данном проекте приводится программный код, который необходимо проанализировать до того, как вы будите его набирать. Не забывайте описывать переменные.

3.2. Этап написания программного кода:

Private Sub Command1_Click()

Cls

Form1.BackColor = blak

DrawWidth = 2

Scale (0, 10)-(15, 0)

Randomize Timer

For i = 1 To 1000

x = Rnd() * 15

y = Rnd() * 15

PSet (x, y), QBColor(15)

For j = 1 To 100000: Next j

Next i

End Sub

 

Сохранить проект

Отладка программы.

Задания по вариантам:

3. 1. Нарисовать на форме множество точек с произвольными координатами различными цветами.

3. 2. Изобразить на форме звезду с разноцветными лучами (множество одинаковых линий, исходящих из одной точки).

3. 3. Нарисовать на форме множество случайных отрезков одинаково длины с произвольными координатами различными цветами.

3. 4. Нарисовать на форме множество прямоугольников одинакового размера с произвольными координатами различными цветами.

3. 5. Нарисовать на форме множество квадратов одинакового размера с произвольными координатами различными цветами.

3. 6. Нарисовать на форме множество окружностей одинакового размера с произвольными координатами различными цветами.

3. 7. Нарисовать на форме множество эллипсов одинакового размера с произвольными координатами различными цветами.

3. 8. Нарисовать на форме множество дуг одинакового размера с произвольными координатами

различными цветами.

3. 9. Изобразить на форме взрыв с разноцветными лучами (множество линий длина их пусть задается случайным образом, исходящих из одной точки).

3. 10.Нарисовать на форме множество случайных отрезков случайной длины с произвольными координатами тремя цветами.

3. 11.Нарисовать на форме множество прямоугольников произвольного размера с произвольными координатами закрашенных различными цветами.

3. 12.Нарисовать на форме множество квадратов произвольно размера с произвольными координатами закрашенных различными цветами.

3. 13.Нарисовать на форме множество окружностей произвольного размера с произвольными координатами закрашенных тремя цветами.

3. 14.Нарисовать на форме множество эллипсов произвольного размера с произвольными координатами закрашенных тремя цветами.

3. 15.Нарисовать шарик, надувающийся из центра окружностями случайных цветов.

3. 16.Нарисовать мишень, в которую осуществляется выстрел по нажатию кнопки.(высрелы должны прорисовываться точками, в случайном порядке)

 

4. Содержание отчета:

4.1.Тема лабораторной работы.

4.2.Цель работы.

4.3 Задания.Ответы на контрольные вопросы.

4.4 Выводы.

5. Контрольные вопросы:

5.1. Какими способами можно задать цвет?

5.2. Как выполнить закраску замкнутых фигур?

5.3. Как в Visual Basic можно организовать вывод готового рисунка?

5.4. Как очистить графическое поле PictureBox после вывода на него рисунка?

5.5. Как можно использовать случайные величины при рисовании?

6. Литература:

6.1. Информатика: Учебник. – 3-е перераб. изд. / Под ред. проф. Н.В.Макаровой. – М.: Финансы и статистика, 2002. – 768с.
6.2. Шафрин Ю.А. Информационные технологии. – М.: Бином. Лаборатория знаний, 1999. – 336с.
6.3. Симонович С.В. Специальная информатика: Учебное пособие. – М.: АСТ – ПРЕСС КНИГА; Инфорком – Пресс, 2002. – 480 с.