Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
31
Добавлен:
02.05.2014
Размер:
54.27 Кб
Скачать

Уфимский Государственный Авиационный

Технический Университет.

Отчет по лабораторной работе №7

Работа с графикой

Выполнил: студент группы ОД – 144

Хасанов Э. Р.

Проверил: Сираева Л. Р.

2004г.

Цель работы

Целью работы является изучение возможностей разработки графических приложений.

  1. Где находится начало координат окна?

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

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

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

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

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

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

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

  1. Назовите процедуры вывода графических примитивов, которые вы знаете?

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

Точка.

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

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

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

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

Circle(x,y), R [,Цвет][[-]n1,[-]n2 [,n3]] – где (x,y) - координаты центра окружности (дуги, сектора, эллипса)

  1. Какие параметры имеет процедура вывода точки?

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

  1. Какие параметры имеет процедура построения линии (отрезка), прямоугольника?

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

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

  1. Какие параметры имеет процедура построения окружности, дуги, сектора, эллипса.

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

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

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

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

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

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

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

  1. Как описываются события в Visual Basic?

В Visual Basic события указываются в заголовке процедуры:

[Private | Public] Sub НазваниеОбъекта_ИмяСобытия ([СписокАргументов])

Текст процедуры

End Sub

  1. Какие события вы знаете, приведите примеры событий?

Activate - вызывается в тот момент, когда форма становится активной (получает фокус). Однако, если перейти к другому приложению Windows, а затем вернуться к своему, то это событие не произойдёт. Оно срабатывает только при переключении между формами внутри программы.

Deactivate - Событие, обратное событию Activate. Вызывается при потере фокуса формы.

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

В Visual Basic можно организовать вывод готового рисунка, созданного в каком-либо графическом редакторе на графическое поле PictureBox.

    Picture1.Picture=LoadPicture(FullFileName) – где FullFileName - полное имя загружаемого файла, например c:\Мои документы\Рисунки\рicture01.jpg

Имя файла можно вводить из текстового поля (TextBox) или выбирать визуально, работая с файловой системой, как было описано в лабораторной работе № 5, тема 4. 

Можно использовать другой способ визуального поиска и открытия файла - с помощью объекта  CommonDialog. Этот объект будет доступен после размещения на панели элементов управления Visual Basic компоненты Microsoft Commom Dialog  Control 6.0.

  1. Для чего используется объект CommonDialog?

CommonDialog1.Filter позволяет определить типы файлов (по маскам), которые будут отображаться в окне открытия файла. Запустив программу, вы сможете визуально искать и открывать файл, используя стандартное окно открытия файла.

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

Для того чтобы отчистить графическое поле PictureBox после вывода на него рисунка надо нажать на вторую кнопку, код которой представлен, как Picture1.picture = LoadPicture. Функцией LoadPicture очищает графическое поле.

Коды программ.

1.

Private Sub Command1_Click()

Picture1.Cls

k = Val(Text1)

For X = 0 To 1

Y = k * X

x0 = 0

y0 = k * x0

Picture1.Scale (-10, 10)-(10, -10)

Picture1.Line (x0, y0)-(X, Y), RGB(100, 50, 135)

Next

End Sub

2.

Private Sub Command2_Click()

Picture1.FillColor = &H8000000F

Picture1.FillStyle = 0

Picture1.Circle (450, 500), 300, RGB(255, 0, 0)

Picture1.Circle (450, 1900), 300, RGB(0, 255, 0)

Picture1.FillColor = QBColor(14)

Picture1.FillStyle = 0

Picture1.Circle (450, 1200), 300, RGB(0, 255, 0)

End Sub

Private Sub Command3_Click()

Picture1.FillColor = &H8000000F

Picture1.FillStyle = 0

Picture1.Circle (450, 1200), 300, RGB(255, 255, 0)

Picture1.Circle (450, 500), 300, RGB(255, 0, 0)

Picture1.FillColor = QBColor(2)

Picture1.FillStyle = 0

Picture1.Circle (450, 1900), 300, RGB(0, 255, 0)

End Sub

Private Sub Form_activate()

Picture1.Circle (450, 500), 300, RGB(255, 0, 0)

Picture1.Circle (450, 1200), 300, RGB(255, 255, 0)

Picture1.Circle (450, 1900), 300, RGB(0, 255, 0)

End Sub

3.

4.

Private Sub Command1_Click()

CommonDialog1.ShowOpen

Set Picture1.Picture = LoadPicture(CommonDialog1.FileName)

End Sub

Private Sub Command2_Click()

Picture1.Picture = LoadPicture

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Form_Load()

CommonDialog1.Filter = "pictures(*.bmp, *.gif, *.ipg) | *.bmp; *.gif; *.ipg"

End Sub

5