русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Метафайлы

Метафайлы являются примером другого способа представления графической информации - векторного. В растровом изображении каждой точке некоторой области (листа бумаги, экрана монитора) соответствует некоторое число, определяющее цвет этой точки. В векторной графики существует некоторый набор примитивов (прямых линий, кривых, прямоугольников, закрашенных областей, текста и т.п.), которые задаются непосредственно в виде записей. Например, для точки необходимо хранить две координаты (х и у), для линии – информацию о двух конечных точках линии, для окружности – координаты центра и радиус. Данные записи составляют содержимое метафайла.

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

Поскольку метафайл описывает изображение в терминах команд графического вывода, изображение может быть промасштабировано без потери разрешения. С битовыми образами это невозможно: при увеличении битового образа биты будут просто повторяться горизонтально или вертикально, при уменьшении – выбрасываться на основе какого-либо алгоритма.

Метафайлы могут быть преобразованы в битовый образ без потери информации. Обратное преобразование практически невозможно в общем случае.

Для создания метафайла сначала создается контекст метафайла:

HDC hdcmf;

hdcmf = CreateMetaFile(“name.wmf”);

где “name.wmf” – имя файла на диске. Если данный параметр функции равен NULL, то метафайл создается в памяти.

После этого, вы можете рисовать на контексте метафайла точно так же, как и на контексте любого другого устройства. Например,

LineTo(hdcmf,20,20,80,80);

Rectandle(hdcmf, 10,10,50,60);

После закрытия метафайла

HMETAFILE hmf;

hmf = CloseMetaFile(hdcmf);

его в любой момент можно проиграть на любом другом контексте:

PlayMetaFile(hdc,hmf);

После окончания работы с метафайлом, его необходимо удалить из памяти:

DeleteMeteFile(hmf);

Данная функция удаляет метафайл из памяти. Если же этот метафайл был создан на диске, то выполнение данной функции приведет к тому, что из памяти он удалится, а на диске останется. Прочитать метафайл с диска можно при помощи функции:

hmf=GetMetaFile(“name.wmf”);

Просмотров: 546


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.