Графические методы
Графические методы
В предыдущих примерах уже были использованы несколько методов для работы с графикой. Но сейчас следует поговорить о них более подробно. Прежде всего нужно помнить, что для работы с графическими методами необходимо сначала создать объект Graphics. Существует несколько способов получения объекта Graphics, и они будут рассматриваться достаточно подробно
Метод CreateGraphics формы или элемента управления позволяет получить объект Graphics, предоставляющий возможность рисовать на форме или элементе управления. Этот метод демонстрируется в листинге 6.9.
Листинг 6.9
Graphics g = this.CreateGraphics();
Метод FromImage создает новый объект Graphics из заданного объекта Image. При помощи этого метода можно изменять существующее изображение или создавать новое изображение. Причем обработанное изображение можно потом сохранить в графическом файле. Использование метода иллюстрирует код, приведенный в листинге 6.10.
Листинг 6.10
Bitmap bmp = new Bitmap(150, 90);
Graphics g = Graphics.FromImage(bmp);
Метод OnPaint класса Form получает в качестве параметра объект PaintEventArgs. Одним из членов данного объекта является объект Graphics, связанный с формой. Переопределяя метод OnPaint класса Form, можно получить доступ к объекту Graphics из параметра PaintEventArgs, после чего можно работать с графикой в клиентской области формы. Вызов этого метода показан в листинге 6.11.
Листинг 6.11
Protected override void OnPaint(PaintEventArgs e) {
Graphics g = e.Graphics;
}
Получив любым из перечисленных способов доступ к объекту Graphics, программист может рисовать фигуры, линии, кривые, изображения и текст при помощи различных методов. Самые распространенные графические методы будут рассмотрены в этом разделе главы.
Метод DrawImage рисует заданный объект Image в указанной позиции экрана. Всего существует четыре перегруженные версии метода. Но в самой простой его версии достаточно указать координаты выводимой картинки, как показано в листинге 6.12.
Листинг 6.12
g.DrawImage(myImage, 10, 10);
С помощью метода DrawImage можно выводить на экран не все изображение, а только его часть. В этом случае надо указать размеры прямоугольника, который определяет размеры выводимой области картинки, как показано в листинге 6.13. В примере используется перечисление GraphicsUnit.Pixel, которое позволяет указывать единицы измерения.
Листинг 6.13
Bitmap myBMP = new Bitmap(@"windowsanner.gif");
Rectangle portion = new Rectangle(1, 1, 150, 25);
g.DrawImage(myBMP, 20, 220, portion, GraphicsUnit.Pixel);
Метод FillRectangle уже применялся при рассмотрении кистей. Метод DrawRectangle использует перо вместо кисти, поэтому на экран выводится незакрашенный прямоугольник.
Чтобы нарисовать достаточно сложную фигуру, можно задать массив точек и соединить их прямыми отрезками, после чего можно закрасить получившуюся фигуру. Для этого разработчик может использовать методы DrawPolygon и FillPolygon. В листинге 6.14 приведен код, который позволяет нарисовать простой ромб по указанным точкам.
Листинг 6.14
// Нарисуем ромб
// Зададим массив точек
Point[] arrPoint = {
new Point(150, 50),
new Point(200, 100),
new Point(150, 150),
new Point(100, 100),
new Point(150, 50),
};
g.DrawPolygon(bluePen, arrPoint);
Если все рассмотренные ранее методы объединить в одно приложение и затем запустить его, то на экране устройства будет отображено несколько графических образов, как показано на рис. 6.1.
Рис. 6.1. Основные приемы работы с графикой
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Графические результаты
Графические результаты Что изображено на графиках? Выведен выигрыш (в процентах) относительно несжатого файла (по оси ординат отложены проценты). По оси абсцисс отложены номера файлов. Данные упорядочены по общей степени сжатия.Вначале по каждому инструменту —
Графические результаты
Графические результаты Сами графики, собственно. Что на них изображено? Выведен выигрыш (в процентах) относительно несжатого файла (по оси ординат отложены проценты). По оси абсцисс отложены номера файлов. Данные упорядочены по общей степени сжатия.Все инструменты
Графические гиперссылки
Графические гиперссылки В начале этой главы говорилось, что гиперссылка может быть в виде не только фрагмента текста, но и картинки или даже представлять собой фрагмент графического изображения. Вот графическими гиперссылками мы сейчас и
Графические гиперссылки
Графические гиперссылки В начале этой главы говорилось, что гиперссылка может быть в виде не только фрагмента текста, но и картинки или даже представлять собой фрагмент графического изображения. Вот графическими гиперссылками мы сейчас и
Графические объекты
Графические объекты Наиболее распространенными в Интернете графическими объектами являются GIF– и JPEG-файлы. Методы сжатия, используемые в них, позволяют размещать на веб-страницах изображения высокого качества и (что очень важно) небольшого размера. ПРИМЕЧАНИЕ Понятно
4.6.1. Графические редакторы
4.6.1. Графические редакторы Редактор растровой графики GIMP — обрабатываем фотоThe GIMP (The GNU Image Manipulation Program) — свободно распространяемый редактор растровой графики, по своим функциям ставший достойной заменой программе Photoshop. Вот некоторые возможности GIMP (далеко не
5. Графические редакторы
5. Графические редакторы Графический редактор, который нам помогает в работе, – это SnagIt (программа для создания скриншотов). PhotoShop поставьте обязательно, чтобы работать с
Графические файлы
Графические файлы Форматы графических файлов не менее разнообразны, чем форматы архивов. Чаще всего в Интернете встречаются следующие форматы графики: JPEG, GIF, TIF, PNG, BMP и др. Для работы с графическими файлами, как и с файлами видео и аудио, можно обойтись стандартными
Графические утилиты
Графические утилиты При помощи APT в репозитарии Ubuntu можно найти несколько утилит с графическим интерфейсом для копирования Audio CD.В файловый менеджер Konqueror встроена возможность автоматического перекодирования Audio CD. Первоначально это был только Ogg Vorbis, в последних версиях
6.1. Графические объекты
6.1. Графические объекты Для управления выводом операционная система Windows предоставляет приложению набор графических объектов.• Битовые массивы (bitmaps) – прямоугольные массивы точек, формирующие растровые изображения.• Карандаши (pens) – используются для задания таких
6.4. Графические режимы
6.4. Графические режимы Операционная система Windows поддерживает пять различных графических режимов, которые позволяют приложениям определять тип смешивания цветов, место и параметры вывода и т. д.:• настройки фона – определяет, как происходит смешивание цветов фона
Графические примитивы
Графические примитивы Графические примитивы представляют собой процедуры, осуществляющие рисование в графическом окне. Рисование осуществляется текущим пером (линии), текущей кистью (заливка замкнутых областей) и текущим шрифтом (вывод строк). procedure SetPixel(x,y: integer; c: Color);
Графические планшеты
Графические планшеты Если ваши художественные способности выше средних, а по вашим будущим художественным шедеврам плачут Третьяковская галерея и Лувр, возможно, есть смысл приобрести графический планшет (он же – дигитайзер). С помощью данного устройства вы сможете
Графические соглашения
Графические соглашения Для разминки начнем с небольшой проблемы, связанной с нотацией. Это конечно деталь, но из деталей складывается общая картина. Речь идет о наборе соглашений, используемых для графического представления классов и объектов. В предшествующей лекции
5.1.11. Графические объекты
5.1.11. Графические объекты Растровые изображенияК растровым (точечным) изображениям относятся: рисунки, созданные в растровом графическом редакторе, цифровые фотографии, отсканированные схемы, открытки, обложки, фрагменты документов и т. п. Для Pages растровые изображения