Российский Государственный Технологический Университет им. К.Э. Циолковского
Опубликован: 02.03.2007 | Доступ: свободный | Студентов: 5636 / 790 | Оценка: 3.96 / 3.45 | Длительность: 27:04:00
ISBN: 978-5-9556-0086-4
Лекция 17:

GDI+

Аннотация: GDI+ (Graphic Device Interface+ — Интерфейс Графических Устройств) — это подсистема Microsoft Windows XP, обеспечивающая вывод графической информации на экраны и принтеры. GDI+ является преемником GDI, интерфейса графических устройств, включаемого в ранние версии Windows. Интерфейс GDI+ изолирует приложение от особенностей конкретного графического оборудования. Такая изоляция позволяет разработчикам создавать аппаратно-независимые приложения. Взаимодействию GDI и C# посвящена эта лекция.

GDI+ - это набор программных средств, которые используются в .NET.

GDI+ позволяют создателям приложений выводить данные на экран или на принтер без необходимости обеспечивать работу с определенными типами устройств отображения. Для отображения информации программисту достаточно вызывать нужные методы классов GDI+. При этом автоматически учитываются типы определенных устройств и выполняются вызовы соответствующих драйверов.

Graphics

Класс, который ИНКАПСУЛИРУЕТ поверхность рисования GDI+. Для этого класса не определен ни один конструктор. Видимо, успех в деле ручного конструирования инкапсулятора поверхностей рисования (еще вопрос, сколько разновидностей таких поверхностей) представляется проблематичным.

Конкретный объект – представитель класса Graphics предоставляется в виде ссылки методами-обработчиками событий либо создается в ходе выполнения ряда методов применительно к конкретным объектам, обладающим "поверхностями рисования" (клиентская область формы, кнопки, панели, битовая матрица):

Bitmap bmp;
Pen greedPen;
:::::
greedPen = new Pen(Color.FromArgb(50, 0, 0, 255), 1);
// Новая битовая карта под новый размер клиентской области формы.
bmp = new Bitmap(this.ClientSize.Width, this.ClientSize.Height);
Graphics gr = Graphics.FromImage(bmp);
gr.DrawLine(this.greedPen, 0, 0, 100, 100);
gr.Dispose();

Ниже представлен список членов класса.

Clip Получает или задает объект Region, ограничивающий область рисования данного объекта Graphics
ClipBounds Получает структуру RectangleF, которая заключает в себе вырезанную область данного объекта Graphics
CompositingMode Получает значение, задающее порядок рисования сложных изображений в данном объекте Graphics
CompositingQuality Получает или задает качество отображения сложных изображений, которые выводятся в данном объекте Graphics
DpiX Получает горизонтальное разрешение данного объекта Graphics
DpiY Получает вертикальное разрешение данного объекта Graphics
InterpolationMode Получает или задает режим вставки, связанный с данным объектом Graphics
IsClipEmpty Получает значение, которое указывает, является ли вырезанная область данного объекта Graphics пустой
IsVisibleClipEmpty Получает значение, которое указывает, является ли видимая вырезанная область данного объекта Graphics пустой
PageScale Получает или задает масштабирование между универсальными единицами и единицами страницы для данного объекта Graphics
PageUnit Получает или задает единицу измерения для координат страницы данного объекта Graphics
PixelOffsetMode Получает или задает значение, которое задает порядок смещения точек во время отображения данного объекта Graphics
RenderingOrigin Получает или задает исходное заполнение данного объекта Graphics для сглаживания цветовых переходов и для штриховки
SmoothingMode Получает или задает качество заполнения для данного объекта Graphics
TextContrast Получает или задает значение коррекции яркости для отображения текста
TextRenderingHint Получает или задает режим заполнения для текста, связанного с данным объектом Graphics
Transform Получает или задает универсальное преобразование для данного объекта Graphics
VisibleClipBounds Получает или задает рабочий прямоугольник видимой вырезанной области данного объекта Graphics
kewezok kewezok
kewezok kewezok
Елена Шляхт
Елена Шляхт
Объясните плиз в чем отличие а++ от ++а
Почему результат разный?
int a=0, b=0;
Console.WriteLine(a++); //0
Console.WriteLine(++b); //1
a++;
++b;
Console.WriteLine(a); //2
Console.WriteLine(b); //2