Класс Picture графического рисунка
Класс Picture графического рисунка
Класс Picture представляет собой графический рисунок модуля GraphABC и является надстройкой над типом System.Drawing.Bitmap. Он имеет свойство прозрачности, которое можно включать/выключать, а также возможность непосредственного рисования на себе всех графических примитивов.
Конструкторы класса Picture
constructor Create(w,h: integer);
Создает рисунок размера w на h пикселей
constructor Create(fname: string);
Создает рисунок из файла с именем fname
constructor Create(r: System.Drawing.Rectangle);
Создает рисунок из прямоугольника r графического окна
Свойства класса Picture
property Width: integer;
Ширина рисунка в пикселах
property Height: integer;
Высота рисунка в пикселах
property Transparent: boolean;
Прозрачность рисунка; прозрачный цвет задается свойством TransparentColor
property TransparentColor: Color;
Прозрачный цвет рисунка. Должна быть установлена прозрачность Transparent = True
Методы класса Picture
procedure Load(fname: string);
Загружает рисунок из файла с именем fname
procedure Save(fname: string);
Сохраняет рисунок в файл с именем fname
procedure SetSize(w,h: integer);
Устанавливает размер рисунка w на h пикселей
function Intersect(p: Picture): boolean;
Возвращает True, если изображение данного рисунка пересекается с изображением рисунка p, и False в противном случае. Для проверки пересечения оба объекта рисуются на белом фоне, и прямоугольник пересечения попиксельно проверяется на пересечение. К сожалению, при таком алгоритме любые белые пиксели считаются не принадлежащими объекту. Поэтому для корректной работы этого метода не следует использовать белый цвет для внутренности объекта.
procedure Draw(x,y: integer);
Выводит рисунок в позиции (x,y)
procedure Draw(x,y: integer; g: Graphics);
Выводит рисунок в позиции (x,y) на поверхность рисования g
procedure Draw(x,y,w,h: integer);
Выводит рисунок в позиции (x,y), масштабируя его к размеру (w,h)
procedure Draw(x,y,w,h: integer; g: Graphics);
Выводит рисунок в позиции (x,y), масштабируя его к размеру (w,h), на поверхность рисования g
procedure Draw(x,y: integer; r: System.Drawing.Rectangle); // r - part of Picture
Выводит часть рисунка, заключенную в прямоугольнике r, в позиции (x,y)
procedure Draw(x,y: integer; r: System.Drawing.Rectangle; g: Graphics);
Выводит часть рисунка, заключенную в прямоугольнике r, в позиции (x,y) на поверхность рисования g
procedure Draw(x,y,w,h: integer; r: System.Drawing.Rectangle); // r - part of Picture
Выводит часть рисунка, заключенную в прямоугольнике r, в позиции (x,y), масштабируя его к размеру (w,h)
procedure Draw(x,y,w,h: integer; r: System.Drawing.Rectangle; g: Graphics);
Выводит часть рисунка, заключенную в прямоугольнике r, в позиции (x,y), масштабируя его к размеру (w,h), на поверхность рисования g
procedure CopyRect(dst: System.Drawing.Rectangle; p: Picture; src: System.Drawing.Rectangle);
Копирует прямоугольник src рисунка p в прямоугольник dst текущего рисунка
procedure CopyRect(dst: System.Drawing.Rectangle; bmp: Bitmap; src: System.Drawing.Rectangle);
Копирует прямоугольник src битового образа bmp в прямоугольник dst текущего рисунка
procedure FlipHorizontal;
Зеркально отображает рисунок относительно горизонтальной оси симметрии
procedure FlipVertical;
Зеркально отображает рисунок относительно вертикальной оси симметрии
procedure SetPixel(x,y: integer; c: Color);
Закрашивает пиксел (x,y) рисунка цветом c
procedure PutPixel(x,y: integer; c: Color);
Закрашивает пиксел (x,y) рисунка цветом c
function GetPixel(x,y: integer): Color;
Возвращает цвет пиксела (x,y) рисунка
procedure Line(x1,y1,x2,y2: integer);
Выводит на рисунке отрезок от точки (x1,y1) до точки (x2,y2)
procedure Line(x1,y1,x2,y2: integer; c: Color);
Выводит на рисунке отрезок от точки (x1,y1) до точки (x2,y2) цветом c
procedure FillCircle(x,y,r: integer);
Заполняет на рисунке внутренность окружности с центром (x,y) и радиусом r
procedure DrawCircle(x,y,r: integer);
Выводит на рисунке окружность с центром (x,y) и радиусом r
procedure FillEllipse(x1,y1,x2,y2: integer);
Заполняет на рисунке внутренность эллипса, ограниченного прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2)
procedure DrawEllipse(x1,y1,x2,y2: integer);
Выводит на рисунке границу эллипса, ограниченного прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2)
procedure FillRectangle(x1,y1,x2,y2: integer);
Заполняет на рисунке внутренность прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2)
procedure FillRect(x1,y1,x2,y2: integer);
Заполняет на рисунке внутренность прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2)
procedure DrawRectangle(x1,y1,x2,y2: integer);
Выводит на рисунке границу ы прямоугольника, заданного координатами противоположных вершин (x1,y1) и (x2,y2)
procedure Circle(x,y,r: integer);
Выводит на рисунке заполненную окружность с центром (x,y) и радиусом r
procedure Ellipse(x1,y1,x2,y2: integer);
Выводит на рисунке заполненный эллипс, ограниченный прямоугольником, заданным координатами противоположных вершин (x1,y1) и (x2,y2)
procedure Rectangle(x1,y1,x2,y2: integer);
Выводит на рисунке заполненный прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2)
procedure RoundRect(x1,y1,x2,y2,w,h: integer);
Выводит на рисунке заполненный прямоугольник со скругленными краями; (x1,y1) и (x2,y2) задают пару противоположных вершин, а w и h – ширину и высоту эллипса, используемого для скругления краев
procedure Arc(x,y,r,a1,a2: integer);
Выводит на рисунке дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
procedure FillPie(x,y,r,a1,a2: integer);
Заполняет на рисунке внутренность сектора окружности, ограниченного дугой с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
procedure DrawPie(x,y,r,a1,a2: integer);
Выводит на рисунке сектор окружности, ограниченный дугой с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
procedure Pie(x,y,r,a1,a2: integer);
Выводит на рисунке заполненный сектор окружности, ограниченный дугой с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки)
procedure DrawPolygon(points: array of Point);
Выводит на рисунке замкнутую ломаную по точкам, координаты которых заданы в массиве points
procedure FillPolygon(points: array of Point);
Заполняет на рисунке многоугольник, координаты вершин которого заданы в массиве points
procedure Polygon(points: array of Point);
Выводит на рисунке заполненный многоугольник, координаты вершин которого заданы в массиве points
procedure Polyline(points: array of Point);
Выводит на рисунке ломаную по точкам, координаты которых заданы в массиве points
procedure Curve(points: array of Point);
Выводит на рисунке кривую по точкам, координаты которых заданы в массиве points
procedure DrawClosedCurve(points: array of Point);
Выводит на рисунке замкнутую кривую по точкам, координаты которых заданы в массиве points
procedure FillClosedCurve(points: array of Point);
Заполняет на рисунке замкнутую кривую по точкам, координаты которых заданы в массиве points
procedure ClosedCurve(points: array of Point);
Выводит на рисунке заполненную замкнутую кривую по точкам, координаты которых заданы в массиве points
procedure TextOut(x,y: integer; s: string);
Выводит на рисунке строку s в прямоугольник к координатами левого верхнего угла (x,y)
procedure FloodFill(x,y: integer; c: Color);
Заливает на рисунке область одного цвета цветом c, начиная с точки (x,y).
procedure Clear;
Очищает рисунок белым цветом
procedure Clear(c: Color);
Очищает рисунок цветом c
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Создание графического логотипа Web-сайта
Создание графического логотипа Web-сайта Вооружившись необходимыми знаниями о канве HTML 5, контексте рисования и его свойствах и методах, давайте попрактикуемся в Web-художествах. Создадим графический логотип для нашего Web-сайта, который поместим в контейнер cheader вместо
Создание графического логотипа Web-сайта
Создание графического логотипа Web-сайта Вооружившись необходимыми знаниями о канве HTML 5, контексте рисования и его свойствах и методах, давайте попрактикуемся в Web-художествах. Создадим графический логотип для нашего Web-сайта, который поместим в контейнер cheader вместо
12.6. Редакторы ASCII-файлов для графического режима
12.6. Редакторы ASCII-файлов для графического режима Очевидно, что было бы очень удобно, если бы редактирование ASCII-файлов в графическом режиме осуществлялось с помощью тех же редакторов, которые применяются в консольном режиме. Тогда не пришлось бы заучивать другие
Глава 23 Разработка графического приложения: библиотека GTK+
Глава 23 Разработка графического приложения: библиотека GTK+ Сейчас мы поговорим о создании графического интерфейса для вашей Linux-программы. Как вы знаете, средствами одного С нормальный GUI не построишь, тем более что привычный пользователь Windows очень требователен не просто
3. Создание графического изображения всего пакета
3. Создание графического изображения всего пакета Закажите фрилансеру-дизайнеру баннер, чтобы вы могли гордо поместить на сайт изображение массы семинаров, помогающих достичь результата, которые вы предлагаете покупателям. Внешне это должно выглядеть как огромный
5.10. Использование графического файлового менеджера
5.10. Использование графического файлового менеджера Использовать файловый менеджер очень просто — если вы умеете работать с проводником Windows, тогда и с обозревателем файлов Linux тоже справитесь. Все операции с файлами и каталогами в обозревателе файлов (рис. 5.4), так же как
Самый базовый класс MFC (класс CObject)
Самый базовый класс MFC (класс CObject) Подавляющее большинство классов библиотеки MFC наследовано от базового класса CObject, лежащего в основе всей иерархии классов этой библиотеки. Методы и элементы данных класса CObject представляют наиболее общие свойства наследованных из него
Объекты графического интерфейса (класс CGdiObject)
Объекты графического интерфейса (класс CGdiObject) Для отображения информации используются различные объекты графического интерфейса – GDI объекты. Для каждого из этих объектов библиотека MFC содержит описывающий его класс, наследованный от базового класса CGdiObject (рис. 2.7). Рис.
Архивный класс (класс CArchive)
Архивный класс (класс CArchive) Класс CArchive используется для сохранения и восстановления состояния объектов в файлах на диске. Перед использованием объекта класса CArchive он должен быть привязан к файлу – объекту класса CFile.Более подробно о процессе сохранения и восстановления
Класс CObject – основной класс MFC
Класс CObject – основной класс MFC Подавляющее большинство классов из библиотеки MFC наследуются от основного класса CObject. Практически все классы, которые используются в ваших приложениях, например CView или CWinApp, унаследованы от класса CObject.Класс CObject обеспечивает наиболее общие
1.2.2 Характеристики графического контекста
1.2.2 Характеристики графического контекста В предыдущем разделе мы говорили, что GC имеет ряд атрибутов, воздействующих на вывод изображений. Для текста это цвет и шрифт, для линий - цвет и толщина и т.д. Как уже упоминалось выше, атрибуты контекста задаются в момент его
Класс GraphABCWindow графического окна
Класс GraphABCWindow графического окна Класс GraphABCWindow представляет собой графическое окно. Функция function Window: GraphABCWindow; возвращает объект текущего графического окна.Свойства класса GraphABCWindow property Left: integer; Отступ графического окна от левого края экрана в пикселах property Top:
Подпрограммы для работы с координатами графического окна
Подпрограммы для работы с координатами графического окна Доступ к свойствам координат графического окна можно осуществлять как в процедурном, так и в объектно-ориентированном стиле.Процедуры и функции для изменения системы координат окна приведены ниже: procedure
Класс GraphABCCoordinate графического окна
Класс GraphABCCoordinate графического окна Объект текущей системы координат возвращается функцией Coordinate и имеет тип GraphABCCoordinate: function Coordinate: GraphABCCoordinate; Класс GraphABCCoordinate представляет тип системы координат для графического окна.Свойства класса GraphABCCoordinate property OriginX: integer;
6.1.11. Работаем с текстом внутри графического примитива
6.1.11. Работаем с текстом внутри графического примитива Для выполнения задания нам понадобится материал разд. 5.1.11.ЗаданиеСоздать визитку, взяв за образец рис. 6.12. Задание находится в файле: /pages/tasks/6. 1.11.pdf. 1. Запустить приложение Pages. Открыть файл упр. pages из папки Документы.
8.11. АЛЬТЕРНАТИВНЫЙ ПРОЕКТ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА
8.11. АЛЬТЕРНАТИВНЫЙ ПРОЕКТ ГРАФИЧЕСКОГО ИНТЕРФЕЙСА При развитии программ постоянно возникает проблема увеличения функциональных возможностей одного объекта за счет функциональных возможностей другого. Актуальнейшая проблема программирования — написание гибких