Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

syap

.pdf
Скачиваний:
17
Добавлен:
12.04.2015
Размер:
2.16 Mб
Скачать

Объект Graphics предоставляет более широкие функции, чем функции рисования, такие как DrawLine или DrawRectangle

.Объект Graphics также осуществляет поддержку графического состояния, которое можно подразделить на следующие категории:

Параметры качества

Преобразования

Область обрезки

Параметры качества

Объект Graphics содержит некоторые свойства, влияющие на качество отображаемых объектов.Например, можно установить значение свойства TextRenderingHint, чтобы указать способ сглаживания (если оно нужно), применяемый к тексту.К другим свойствам, влияющим на качество, относятся свойства SmoothingMode, CompositingMode, CompositingQuality и InterpolationMode.

using System.Drawing.Drawing2D;

Graphics graphics = e.Graphics;

Pen pen = new Pen(Color.Blue);

graphics.SmoothingMode =

 

System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

graphics.DrawEllipse(pen, 0, 0, 200, 100);

graphics.SmoothingMode =

 

System.Drawing.Drawing2D.SmoothingMode.HighSpeed;

graphics.DrawEllipse(pen, 0, 150, 200, 100);

Преобразования

Объект Graphics поддерживает два преобразования (объемное и страничное), которые применяются ко всем объектам, отображаемым объектом Graphics.Любое аффинное преобразование можно хранить в объемном преобразовании.Аффинные преобразования — это масштабирование, поворот, отражение, наклон и сдвиг.Страничное преобразование может использоваться для масштабирования и преобразования единиц измерения (например точек в дюймы).

В приведенном ниже примере устанавливаются объемное и страничное преобразования объекта Graphics.В качестве объемного преобразования устанавливается поворот на 30 градусов.Страничное преобразование устанавливается таким образом, чтобы координаты, передаваемые второму методу DrawEllipse, измерялись в миллиметрах, а не в точках.В коде осуществляются два одинаковых вызова метода DrawEllipse.При вызове первого метода DrawEllipse применяется только объемное преобразование, а при вызове второго метода DrawEllipse применяются оба преобразования (объемное и страничное).

using System.Drawing.Drawing2D;

Graphics graphics = e.Graphics;

Pen pen = new Pen(Color.Blue);

graphics.SmoothingMode =

 

System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

graphics.DrawEllipse(pen, 0, 0, 200, 100);

graphics.SmoothingMode =

 

System.Drawing.Drawing2D.SmoothingMode.HighSpeed;

graphics.DrawEllipse(pen, 0, 150, 200, 100);

Область обрезки

Объект Graphics поддерживает область обрезки, которая применяется для всех объектов, отображаемых объектом Graphics.Для установки границ области обрезки служит метод SetClip.

В следующем примере создается область в форме креста, являющаяся объединением двух прямоугольников.Эта область назначается областью обрезки для объекта Graphics.Затем в коде рисуются две линии, ограниченные внутренней частью области обрезки.

Режимы дизайна и кода

Эмблема

организации

При создании нового проекта запускается режим

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

Для работы с программой следует перейти в режим кода.

После хотя бы однократного перехода в режим кода в этом проекте появится вкладка Form1.cs*, нажимая на которую, тоже можно переходить в режим кода.

Для перехода в режим кода также можно использовать клавишу F7, а для возврата в режим дизайна — сочетание Shift+F7.

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

namespace FirstForm

Класс формы Form1, наследуемый от System.Windows.Forms.Form, содержит в себе почти весь код:

public class Form1 : System.Windows.Forms.Form { … }

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