Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_biletam_po_informatike.docx
Скачиваний:
42
Добавлен:
31.03.2015
Размер:
94.61 Кб
Скачать

26) Растровая и векторная графика, система координат. Базовые методы класса

Graphics.

Все графические изображения подразделяются на векторные и растровые. В векторных

изображениях положение точек (пикселей), из которых они состоят, определяется

аналитически на основе математического определения геометрической фигуры (например,

прямой или эллипса). Растровое изображение тоже состоит из точек. Но в нем каждая

точка определяется отдельно.

Существенное различие между векторной и растровой графикой состоит в том, что

векторная графика не привязана к разрешению экрана. При любом разрешении векторное

изображение будет иметь один и тот же размер, заданный в его определении. Растровое

же изображение при любом разрешении экрана будет содержать одно и то же количество

пикселей. Следовательно, чем выше разрешение экрана, тем меньший физический размер

будет иметь пиксель и тем меньший размер будет иметь растровое изображение.

VB.NET позволяет рисовать практически на любом элементе управления. Чаще всего

графика выводится на двух объектах: Form и PictureBox.

Каждая форма и каждое графическое поле PictureBox обладают своей системой

координат.По умолчанию начало отсчета находится в левом верхнем углу формы. Ось Х направлена

вправо, ось Y – вниз.

Система координат по умолчанию состоит из строк и столбцов графических элементов –

пикселей. Пиксель – это минимально возможная точка, физические размеры которой

зависят от установленной в операционной системе разрешающей способности экрана.

Нумерация строк и столбцов пикселей начинается с 0. Точка с координатами (9, 4)

означает пиксель, находящийся на пересечении столбца № 9 пикселей со строкой № 4

пикселей

Можно загрузить изображение на управляющий элемент на этапе разработки (в состоянии

проекта design). Для этого следует выделить этот объект и в окне свойств найти

свойство Image.Затем в поле значения этого свойства нужно щелкнуть на кнопке с многоточием. В ответ

откроется диалоговое окно Open (открыть), в котором следует выбрать файл, содержащий

изображение.

Для установления соответствия между размерами изображения и размерами

управляющего элемента следует воспользоваться свойством SizeMode последнего (если

управляющий элемент имеет такое свойство). Это свойство может принимать значения:

Normal – размер рисунка не изменяется;

CenterImage – размещение рисунка по центру управляющего элемента (имеет смысл,

если рисунок меньше управляющего элемента);

StretchImage – размер рисунка будет подогнан под размер управляющего элемента;

AutoSize – размер управляющего элемента будет подогнан по размеру рисунка.

Можно загрузить изображение на управляющий элемент на этапе выполнения (в

состоянии проекта Debugging). Следующая инструкция размещает на графическом поле

pbxMoney рисунок, хранящийся в файле dollars.gif:

pbxMoney.Image = System.Drawing.Bitmap.FromFile _

("D:\Моя рабочая папка\dollars.gif")

В состоянии выполнения проекта изображение можно изменять через код проекта.

Свойство Image объекта управления представляет собой объект, следовательно, имеет

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

Можно также удалить изображение на управляющем элементе на этапе выполнения.

Следующая инструкция удаляет рисунок с графического поля pbxMoney:

If Not (pbxMoney.Image Is Nothing) Then

pbxMoney.Image.Dispose()

pbxMoney.Image = Nothing

End If

Так метод RotateFlip позволяет выполнить поворот или зеркальное отображение

рисунка.

Набор классов, предназначенных для вывода текста и изображений, составляет интерфейс

для создания графики – GDI (Graphics Design Interface). GDI+ – это его последняя версия.

Классы GDI+ располагаются в модулях: System.Drawing,

System.Drawing.Drawing2D, System.Drawing.Imaging и

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

импортировать в проект, поместив в начале кода проекта предложение:

Imports System.Drawing, System.Drawing.Drawing2D, _

System.Drawing.Imaging, System.Drawing.Text

Перед началом рисования нужно выбрать поверхность, на которую будет выводиться

изображение, тип изображения и инструмент. Поверхностью для рисования является

объект Graphics. Выбрав соответствующий метод этого объекта, можно нарисовать

нужную геометрическую фигуру.

Далее выбирается инструмент. Инструментом может быть объект Pen (перо) или объект

Brush (кисть). Перо предназначено для рисования линий или контуров. Кистью можно

нарисовать заполненный контур. Главными характеристиками объекта Pen являются цвет

и толщина линии. Главными характеристиками объекта Brush являются цвет и образец

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

движения. Листинг 6.2 содержит код, рисующий на форме две прямые линии.

Подпрограмма Button1_Click рисует горизонтальную прямую линию синего цвета (на

рис. 6.3 эта линия расположена снизу). Подпрограмма Form1_Paint рисует прямую

линию красного цвета (на рис. 6.3 эта линия расположена сверху). Событие Paint

происходит, когда объект или его часть снова становится видимым после того, как он был

перемещен, увеличен, заслонен другим окном или изменил размеры.

Если у управляющего элемента есть свойство Graphics, значит, на нем можно рисовать.

Свойство Graphics возвращает одноименный объект, который представляет набор

методов, необходимых для рисования на поверхности элемента управления. Для

извлечения объекта, связанного с конкретным элементом управления нужно вызвать

метод CreateGraphics этого элемента управления. Например, для рисования на

элементе управления PictureBox1 сначала следует объявить объектную переменную

типа Graphics и инициализировать ее объектом, возвращаемым методом

CreateGraphics элемента управления PictureBox1:

Dim G As Graphics

G = PictureBox1.CreateGraphics

Если же нужно рисовать на форме, необходимо создать объект Graphics с помощью

метода CreateGraphics этой формы:

Dim G As Graphics

G = Me.CreateGraphics

У объекта Graphics имеется несколько базовых свойств. Свойство PageUnit

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

объекте Graphics.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]