ГРАФИЧЕСКИЕ МЕТОДЫ

282295
знаков
41
таблица
133
изображения

4.3. ГРАФИЧЕСКИЕ МЕТОДЫ

Для создания экранных изображений используются графические методы Line, Circle, Pset, позволяющие рисовать линии

и прямоугольники, дуги и отдельные точки на экране. объект — форма, окно рисунка (pictur box), объект печати, на

которых рисуется линия или прямоугольник; Line — ключевое слово;

Step — ключевое слово, обозначающее, что начальная или конечная координата линии задана относительно текущей позиции, задаваемой свойствами CurrentX и CurrentY (отсчитывается как смещение от текущей позиции);

xl, yl — координаты начальной точки рисуемой линии или прямоугольника (в используемой системе координат). Тип Single. Если отсутствует координата начальной точки, то линия нчинается от текущей позиции;

х2, у2 — координаты конечной точки рисуемой линии (обязательные параметры). Тип Single;

цвет — RGB-цвет линии (может использоваться функция RGB);

В определяет рисование прямоугольника по заданным координатам противоположенных углов;

F используется только при заданном параметре В и определяет закрашивание прямоугольника тем же цветом, что и линии сторон.

Синтаксис использования метода Circle (используется для рисования окружностей, эллипсов, дуг и секторов) следующий:

[объект.]С1гс\е[81ер](х,у),радиус[, [цвет] [, [start] [,[end}[, aspect]]]} где объект — форма, окно рисунка (pictiir box), объект печати, на которых рисуется окружность, эллипс, дуга или сектор;

Circle — ключевое слово;

Step — ключевое слово, обозначающее, что центр окружности, эллипса, дуги или сектора задан относительно текущей позиции, задаваемой свойствами CurrentX и CurrentY (отсчитывается как смещение от текущей позиции);

х,у — координаты центра (обязательные параметры). Тип Single;

радиус — радиус (в используемой системе координат);

цвет — RGB-цвет линии (может использоваться функция RGB);

start, end используются при рисовании дуги и определяют в радианах начальный и конечный углы дуги (диапазон — от -2 П до 2 П). По умолчанию start равен 0, end — 2 П. Для перевода значений углов из градусов в радианы используется формула ГРАДУ С*П/180.

aspect — соотношение радиусов по осям Х и Y при рисовании эллипса.

Для рисования сектора задаются отрицательные значения параметров start и end. При рисовании проводятся радиальные линии под углом, заданными абсолютными значениями параметра.

Свойства FillColor и FillStyle (относятся к объекту) определяют соответственно цвет заполнения прямоугольника, окружности, дуги или сектора и стиль заполнения. Синтаксис применения свойства FillColor следующий:

{[/or;n.][c<w”-o/.]|Printer.}FillColor[= цвет] где цвет — RGB — цвет или QBColor — функция (возвращает значение RGB — цвета для 16 фиксированных цветов, см. Справочную систему Visual Basic). По умолчанию — черный цвет.

Синтаксис применения свойства FillStyle:

{|/<wn.][con/ro/.]|Printer.}FillStyle[ = style] где style принимает следующие значения:

О — полное заполнение;

1 — прозрачное (по умолчанию);

2 — горизонтальные линии;

3 — вертикальные линии;

4 — диагональ (направленная вверх);

5 — диагональ (направленная вниз);

6 — крест на крест;

7- крест на крест по диагонали.

Синтаксис использования метода Pset для высвечивания какой-либо точки определенным цветом следующий

[объект.] PSet[Step](^,^)[,uBeT]

где объект — форма, окно рисунка (pictur box), объект печати, на которых рисуется точка;

Pset — ключевое слово;

Step — ключевое слово, обозначающее, что координаты точки заданы относительно текущей позиции, задаваемой свойствами CurrentX и CurrentY (отсчитывается как смещение от текущей позиции);

х, у — координаты точки (обязательные параметры). Тип Single;

цвет — RGB-цвет или QBColor-функция (возвращает значение RGB-цвета для 16 фиксированных цветов, см. справочную систему Visual Basic). Если этот параметр отсутствует, то Цвет определяется свойством ForeColor.

Толщина и вид рисуемых линий, а также размер и внешний вид точки определяется значением свойств DrawWidth, DrawStyle и DrawMode. При значении DrawWidth = 1 (измеряется в пикселах) толщина линии и точки равна 1 пикселу. При увеличении значения толшина увеличивается (координата точки определяет ее центр). Значения свойства DrawStyle от 0 до б определяют, какой будет линия:

сплошной, пунктирной, точечной и др.

Свойство DrawMode может принимать одно из 16 значений которые определяют характер взаимодействия вычерчиваемого изображения с уже имеющимся на экране. Например, по умолчанию DrawMode равно 13 (Copy Pen) и означает, что новое изображение закрывает собой существующее.

Метод Point возвращает цвет заданной точки. Синтаксис:

[объект.} Point (x,y)

Возвращает значение цвета в RGB-кодировке пиксела в заданных координатах х и у.

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

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

Private Sub Form_Pa-Lnt ( )

Scale (-10, 10)-(10, -10) 'установка масштаба

Line (-10, 0)-(10, 0) 'ось X

Line (0, -10)-(0, 10) 'ось Y

Line (-8.5, 9.2)-(9.01, -2.1) 'прямая линия Line (-5, 2)-(2, 1), , В 'не закрашен, прямоугольник Line(-8.5,3.5)-(-5.5, -4),,F 'закрашен, прямоугольник

Circle (1, 2), 5 'окружность

Circle (-1, -5), 3, , , , 0.4 'эллипс

Circle (-7, -9.5), 4, , -0.7, -2.1 'малый сектор Circle (6, -6), 3.5, , -2.1, -0.7 'большой сектор DrawWidth = 10 'изменение ширины линии 'или размера точки

PSet (7, 6.5) 'точка

End Sub

Методы, осуществляющие вывод информации на форму, позволяют направлять ее непосредственно на принтер. Принтер (объект Printer) рассматривается как особая форма, размер которой -совпадает с размером печатаемой страницы. Метод Scale применим и для объекта Printer и позволяет установить нужную систему координат.

Рис 43 4.4. ПОСТРОЕНИЕ ГРАФИКОВ ФУНКЦИЙ

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

Для задания стандартной системы координат с точкой (0,0) в середине экрана свойству ScaleTop присваивается некоторое Положительное значение, а свойству ScaleHeight отрицательное значение, которые определяют диапазон значений шкалы Y. На-“ример, ScaleTop = 50, ScaleHeight = -100, шкала Y имеет диапазон от -50 до +50. Аналогично свойству ScaleLeft присваивается некоторое отрицательное значение, а свойству ScaleWidth положительное значение. Зти значения определяют диапазон значений шкалы X. Например, ScaleLeft = -20, ScaleWidth = 40, шкала \ имеет диапазон от -20 до +20 (рис. 4 4)

Построим график функции

у = -.25 * х л 3 + .14 * х л 2 + .25 * х - 25 на отрезке значений аргумента [-10,+10]. Анализ показывает, что область значении функции на этом отрезке: -270 < у < +270. Для вычисления значения функции зададим функцию Primer_Function:

Function Primer_Function(ByVal х As Single) у = -0.25 * х •”• 3 + 0.14 * х - 2 + 0.25 * х - 25

Debug.Print у Primer_Function = у End Function

Рис 44

Алгоритм построения графика поместим в процедуру обработки события Form_Click:

Private Sub Form_Ciick()

Scale (-10, 270)-(10, -270) 'установка масштаба CIs 'очистка экрана

DrawWidth = 1 'установка толщины линии Line (-10ft, 0)-(10#, 0) 'ось Х Line (0, -270ft)-(0, 270ft) 'ось Y CurrentX = -10# 'текущее значение Х CurrentY = Primer_Function(-10ft)

'текущее значение Y • For х = -10ft То 10ft Step 0.5

Line -(х,Primer_Function(х))'построение отрезков

‘графика Next End Sub

Построенный график показан на рис. 4.5. Процедуру Sub Foim_Click () можно преобразовать для печати графика на принтере'

Private Sub Form_Click()

Printer.Scale (-10, 270)-(10, -270) 'установка

'масштаба DrawWidth = 1 'установка толщины линии Printer.Line (-10<t, 0)-(10#, 0)'ось X Printer.Line (0, -270ft)-(0, 270ft) 'ось Y CurrentX = -10ft 'текущее значение X CurrentY = Primer_Function(-10ft) 'текущее

‘значение У

For x = -10ft To 10ft Step 0.5 Printer.Line -(x, Primer_Function(x))

'построение отрезков графика Next Printer.EndDoc End Sub

Кроме того, выведя графическую информацию на форму, можно использовать метод PlintFoirn для распечатки растровой копии формы на принтере.

Рис 45


Информация о работе «Програмирование на Visual Basic»
Раздел: Кибернетика
Количество знаков с пробелами: 282295
Количество таблиц: 41
Количество изображений: 133

Похожие работы

Скачать
61591
9
0

... соответствующее диалоговое окно для выбора таблиц из базы-источника, а затем диалоговое окно для выбора файла назначения. ·     Выберите соответствующие спецификации и выполните экспортирование. ·     Microsoft Access выдаст сообщение о результате экспортирования.   Запросы. Запрос можно представить себе как точку зрения на данные, включенные в таблицу. Запросы служат для селекции и ...

Скачать
62384
1
0

... мастера на основе одной или нескольких таблиц или запросов. Мастер задает подробные вопросы об источниках записей, полях, макете, требуемых форматах и создает отчет на основании полученных ответов. 1.        В окне базы данных выберите Отчеты и нажмите кнопку Создать. 2.        В диалоговом окне Новый отчет выберите нужного мастера. 3.        Выберите таблицу или запрос, содержащие данные, на ...

Скачать
23613
0
1

... . В начале своего появления сканеры взаимодействовали с программами посредством уникального для каждой модели сканера интерфейса, что серьезно затрудняло включение поддержки работы со сканером в прикладные программы. Для решения этой проблемы был разработан TWAIN - индустриальный стандарт интерфейса программного обеспечения для передачи изображений из различных устройств в Windows и Macintosh. ...

Скачать
257002
0
22

... быть выведены на печать. На экране рисунки могут быть статическими (неподвижными) или динамическими (движущимися). В последнее время машинная графика выделилась в самостоятельный раздел информатики с многочисленными приложениями. Средствами машинной графики создается не только печатная продукция, но и рекламные ролики на телевидении, мультфильмы. Объясним, как кодируется изображение в памяти ...

0 комментариев


Наверх