ИмяОбъекта. Cls





Скачать 94.71 Kb.
НазваниеИмяОбъекта. Cls
Дата публикации28.07.2014
Размер94.71 Kb.
ТипДокументы
100-bal.ru > Астрономия > Документы
Занятие 13

Графические методы, система координат, использование элементов управления Shape и Line, размещение точечных рисунков на форме и элементе PictureBox, метод PaintPicture

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

1. Система координат

Свойство ScaleMode отвечает за используемую единицу измерения. По умолчанию принимается единица измерения – твип. Один твип соответствует 1/1440 дюйма или 0,0176 мм. Свойство ScaleMode позволяет выбрать в качестве единицы измерения миллиметры, сантиметры, дюймы, пункты или символы.

Как только вы поменяли значение свойства ScaleMode, соответственно новым единицам измерения поменяются и значения свойств ScaleHeight и ScaleWidth объекта.

У объектов формы и PictureBox есть еще свойства ScaleTop и ScaleLeft, определяющие положение начала координат.

Определить систему координат и единицу измерения на форме, элементе PictureBox и объекте Printer позволяет метод Scale. Нужно задать координаты начала и конца отсчета по вертикали и горизонтали. При этом необходимо, чтобы значение свойства ScaleMode имело значение 0 - User. Синтаксис метода следующий:

ИмяОбъекта . Scale[(X1,Y1) – (X2,Y2)]

X1,Y1 – координаты левого верхнего угла (начала координат) системы координат.

X2,Y2 – координаты правого нижнего угла системы координат.

Если указаны параметры X1,Y1 и X2,Y2, то они будут соответствовать левому верхнему и правому нижнему углам объекта. При этом единица измерения будет определяться фактическими размерами объекта и диапазоном изменения соответствующей координаты.

Обе пары координат могут быть опущены. Тогда будет принята система координат по умолчанию с единицей измерения – твип.

2. Графические методы

Форма и элемент PictureBox располагают графическими методами, которые позволяют рисовать на рабочей поверхности объекта.

Метод Cls служит для очистки поверхности объекта от результатов текстового вывода и графических методов. Формат метода предельно прост:

ИмяОбъекта . Cls


или просто

Cls

Для рисования линий и прямоугольников служит метод Line. Результаты работы метода Line зависят от значений свойств FillColor, FillStyle, DrawWidth, DrawMode и DrawStyle. Перед вызовом метода можно задать этим свойствам значения для получения разнообразных эффектов. Синтаксис метода такой:

Line [Step] (X1,Y1) - [Step] (X2,Y2), [Color] [,B] [F]


Bпри наличии этого параметра метод рисует прямоугольник, а не линию.

F - прямоугольник будет заполнен. Этот параметр можно использовать только при наличии параметра B.

(X1, Y1) и (X2,Y2) – две пары координат, задающие местоположение начала и конца линии (или верхний левый и правый нижний углы прямоугольника).

Stepзарезервированное слово. Если вызов метода сопровождается этим словом, то координаты отсчитываются от текущей позиции вывода.

Color параметр, который позволяет задать цвет. Для этого можно использовать функции QBColor или RGB. Если параметр отсутствует, то будет использован цвет, определенный значением свойства ForeColor.

Метод PSet служит для рисования на поверхности одиночной точки. Размеры точки определяются значением свойства DrawWidth. Синтаксис метода следующий:

PSet [Step] (X,Y), [Color]


(X,Y) – координаты точки

Stepпри наличии этого слова используются относительные координаты.

Colorпараметр для задания цвета точки.

Окружности или эллипсы на поверхности формы или элемента PictureBox можно рисовать с помощью метода Circle. Результат работы метода тоже зависит от значений свойств FillColor, FillStyle, DrawWidth, DrawMode и DrawStyle. Синтаксис метода следующий:

Circle [Step] (X,Y),Radius[,Color] [,Start] [,End] [,F]


(X,Y) - координаты, задающие местоположение центра окружности.

Radius - значение радиуса окружности.

Метод позволяет рисовать дуги. Для этого в нем должны быть два параметра, определяющих начало и конец дуги в радианах от 0 до 2.

Start - параметр, определяющий начало дуги, End - параметр, определяющий конец дуги.

С помощью метода можно нарисовать эллипс. Тогда нужно задать параметр F, равный отношению осей эллипса.
3. Проект prjView с использованием графических методов

Д
ля того, чтобы овладеть графическими методами, описанными в предыдущих разделах занятия, сделаем проект, в котором после щелчка пользователем по командной кнопке на форме с помощью графических методов и метода Scale, задающего собственную систему координат на форме, вырисовывался несложный пейзаж. Постарайтесь использовать все описанные графические методы. Рисунок может быть, например, такой:

Или поинтереснее и посложнее. Фантазируйте! Можете подобрать подходящую мелодию и музыкально оформите ваш проект.

4. Цвет

Видеосистемы IBM PC, так же, как и цветное телевидение основываются на трехкомпонентной модели цвета, которую называют также RGB-моделью. Она позволяет получить необходимый цвет или оттенок сложением чистых цветовых тонов: красного, синего и зеленого в разных соотношениях яркости. Если яркость всех компонентов одинакова, получается черно-белая гамма. В 16 миллионном цветовом режиме адаптер SVGA отводит под значение каждого из RGB-компонентов 1 байт, позволяющий запомнить одну из 256 градаций.

Образно каждый цветовой тон можно представить себе как точку в трехмерном пространстве. Начало будет лежать в координатах (0,0,0), конец - (255,255,255).


Цвет

Красный компонент

Зеленый компонент

Синий компонент

Черный

0

0

0

Синий

0

0

255

Зеленый

0

255

0

Красный

255

0

0

Белый

255

255

255

Значения компонентов удобно выражать в шестнадцатеричной системе счисления. Например, цвет (26,0,255) представляется кодом &H1A00FF. 26 соответствует 1A, 0 - 00, 255 - FF

5. Использование цвета в Visual Basic

При проектировании на Visual Basic на этапе создания проекта цвет для соответствующего элемента можно выбрать в окне свойств с помощью комбинированного поля.

В период выполнения проекта значение цвета можно задать в качестве значения свойства, отвечающего за тот или иной цвет. Вы уже задавали цвет с помощью функции QBColor. Параметр этой функции - число в диапазоне от 0 до 15. Этим количеством ограничен и выбор цветов. Более широкие возможности предоставляет функция RGB. Эта функция позволяет задать в явном виде значения трех цветовых компонентов. Синтаксис функции следующий:

RGB(Red, Green, Blue)

Red, Green, Blue - параметры, определяющие удельный вес каждого компонента. Это числа от 0 до 255.

Вот так можно, например, задать цвет фона метки label1 в период выполнения проекта с помощью функции RGB:

Label1.BackColor = RGB(23, 106, 241)

6. Управляющие элементы Shape и Line

У
правляющие элементы Shape и Line предназначены для построения геометрических фигур и линий на поверхности формы. У элемента Shape на панели элементов управления вот такая пиктограмма:

Свойство Shape задает вид, который будет иметь фигура. Всего может быть шесть разных видов фигур, значение по умолчанию – прямоугольник.

Свойство BorderWidth задает толщину линий фигуры.

Свойство BorderColor задает цвет линии, которым будет изображена фигура.

Свойство BackStyle определяет режим фона фигуры. Значение 0 – Transparent соответствует прозрачному фону, 1 – Opaque непрозрачному.

Свойство BorderStyle определяет стиль линии фигуры.

Свойство FillColor определяет цвет заполнения фигуры, а FillStyle – стиль заполнения.

У
элемента Line на панели элементов управления пиктограмма такая:

Можно изменять цвет, толщину и координаты концов линии.

Свойство BorderColor задает цвет линии, BorderStile – стиль, BorderWidth – толщину.

X1, Y1 – два свойства, содержащие координаты начала линии.

X2, Y2 – два свойства, содержащие координаты конца линии.

7. Проект в котором используются элементы Shape и функция RGB( )

Для того, чтобы попрактиковаться в использовании элементов shape сделаем небольшой проект, в котором части некоторой геометрической фигуры по событиям таймера меняют свой цвет.

Фигура будет состоять из пяти одинаковых квадратов (элементов shape), расположенных так, как показано на рисунке:


Первый нижний левый квадрат представлен элементом Shape1, последний правый верхний квадрат - элементом Shape5. Толщину линий всех элементов фигуры (свойство BorderWidth) на этапе проектирования зададим равным 3. На форму кроме описанных элементов поместим таймер Timer1, значение свойства Interval = 300, свойства Enabled = False.

Фон формы (свойство BackColor) на этапе проектирования зададим черный. Цвет квадратов (свойство BorderColor элементов shape) зададим тоже черный.

На форму поместим таймер Timer1, значение свойства Interval = 300, свойства Enabled = False. Кроме этого на форму поместим еще командную кнопку Command1, после щелчка по которой будет запускаться таймер.

Во время работы нашего проекта после щелчка пользователем по командной кнопке квадраты по событиям таймера начнут менять черный цвет на зеленый - будут "зажигаться" по очереди: сначала левый нижний shape1, затем тот который выше и правее shape2, затем следующий shape3. Когда все квадраты "загорятся", по следующему событию таймера все они должны погаснуть - поменять цвет опять на черный. Дальше процесс "зажигания" повторяется.

Приступим к составлению кода. В коде командной кнопки будем запускать таймер. Составьте код:

Private Sub Command1_Click( )

End Sub

Всю основную программу поместим в код таймера. Дополните код:

Private Sub Timer1_Timer( )

Static C As Integer

C = C + 1

If C = 1 Then

Shape1.BorderColor = RGB(20, 200, 20)

ElseIf C = 2 Then

. . .

Shape5.BorderColor = RGB(20, 200, 20)

ElseIf C = 6 Then

Shape1.BorderColor = RGB(0, 0, 0)

Shape2.BorderColor = RGB(0, 0, 0)

Shape3.BorderColor = RGB(0, 0, 0)

Shape4.BorderColor = RGB(0, 0, 0)

Shape5.BorderColor = RGB(0, 0, 0)

ElseIf C > 7 Then

C = 0


End If

В начале кода объявляется статическая переменная. По событиям таймера ее значение будет увеличиваться на единицу. Если ее значение превысит 7, то она "обнуляется". Цвет в приведенном коде задается с помощью функции RGB( ). Сделайте проект на своем компьютере.

8. Ваш собственный проект с использованием элементов Shape, Line и функции RGB( )

Придумайте свою геометрическую фигуру и сделайте проект, используя описанный принцип. Фигура должна быть сложнее, интереснее, должна содержать элементы Shape и Line. "Поиграйте" цветами.

9. Размещение точечных рисунков на форме и элементе PictureBox, метод PaintPicture

Вы уже знакомы с объектами, на которых в Visual Basic можно разместить графическое изображение или точечный рисунок. Это такие объекты, как форма, PictureBox и Image. С помощью свойства Picture вы размещали рисунок на объекте. При этом рисунок позиционировался так, что его левый верхний угол совпадал с левым верхним углом элемента, и вы не могли повлиять на расположение рисунка на его поверхности. В период выполнения проекта для размещения рисунка вы использовали функцию LoadPicture. Есть еще один способ размещения рисунка. Это использование метода PaintPicture. Этот метод позволяет позиционировать на объектах: экранной форме и элементе PictureBox рисунок, загруженный из графического файла. Метод PaintPicture нужно использовать совместно с функцией LoadPicture. Формат следующий:

PaintPicture LoadPicture("Имя файла"), Х1, У1 [,Ширина1,_ Высота1] [,Х2, У2] [,Ширина2, Высота2]

X1,Y1 - координаты левого верхнего угла рисунка на рабочей поверхности объекта.

Ширина1, Высота1 - ширина и высота рисунка на поверхности объекта. Если значения этих параметров отличаются от значений параметров Ширина2, Высота2, то рисунок будет соответственно сжат или растянут.

X2,Y2 - координаты точки на рисунке-источнике, с которой будет выделен фрагмент, помещаемый на рабочую поверхность элемента.

Ширина2, Высота2 задают размеры "прямоугольника" на рисунке - источнике, который будет выделен и помещен на рабочую поверхность объекта.

Необязательные параметры приводятся как и всегда в квадратных скобках.

10. Пример использования метода PaintPicture

Сделаем небольшой проект, в котором после щелчка по командной кнопке на форме будет размещаться фрагмент из графического файла. На стадии проектирования зададим значения свойств Height формы - 3156, Width - 4176. Код командной кнопки составим следующий:

Private Sub Command1_Click( )

PaintPicture LoadPicture("George.jpg"), 450, 250, 3200, 2000

End Sub

Вот приблизительно что должно получиться:




Вам имеет смысл самостоятельно поманипулировать значениями параметров: X2,Y2, Ширина2, Высота2, подставляя их значения в строку кода и анализируя полученный результат.

11. Задания для самостоятельного выполнения

Выполните задания пунктов занятия 3, 8, 10.





Добавить документ в свой блог или на сайт

Похожие:

ИмяОбъекта. Cls iconФирма liechti engineering ag (Швейцария), являющаяся всемирно известным...
Программное обеспечение Turbosoft plus имеет модульную структуру и предусматривает интерфейс с другими cad/cam системами (iges для...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск