Главная | RSS Вторник, 25.07.2017, 19:45

Меню сайта
Форма входа
Логин:
Пароль:
Категории раздела
Векторная [7]
Растровая [11]
Фрактальная [0]
Поиск по сайту

Баннер сайта
Установите мой
баннер себе на сайт

 

Каталог статей

Главная » Статьи » Компьютерная графика » Векторная [ Добавить статью ]

тип файла .wmf
Microsoft Windows Metafile
Также известен как: WMF, Enhanced Metafile, EMF, APM
________________________________________
Печатать
Metafile

Цвет
24-битная

Сжатие
Никакой

Максимальный размер изображения Не Доступно

Несколько изображений одного файла Да

Числовом формате
Little-Endian

Составитель
Корпорация Microsoft

Платформа
Microsoft Windows

Поддержка приложений Многочисленные Microsoft Windows на базе графических приложений
См. также
Encapsulated PostScript, Microsoft Windows Bitmap и Microsoft Windows буфер обмена

Использования
Хранение векторных рисунков и растровых изображений.
Комментариев
Широко распространенный формат связано с Microsoft Windows, хотя многие из приложений на другие платформы обеспечивают поддержку.
________________________________________
Microsoft Windows Metafile Format (WMF) файлы используются для хранения как векторных и растровых форматов графических данных в памяти или на диске файлов. Векторные данные хранятся в файлах WMF описывается как Microsoft Windows Graphics Device Interface (GDI) команд. В среде Window эти команды интерпретировать и воспроизводить на выходе устройства с помощью Windows API PlayMetaFile () функцию. Растровые данные хранятся в файле, WMF, может быть сохранена в виде устройство Microsoft Зависимая Bitmap (DDB), или Device Independent Bitmap (DIB).
Содержание:
Организация файлов
File Details
Для получения дополнительной информации
В среде Windows, метафайлы, как правило, создается и воспроизводится в памяти. Если данные метафайла становится слишком большим, чтобы хранить в памяти, или должна быть сохранена до применения завершается, данные могут быть записаны на диск в виде EMF или WMF файлов и воспроизведения с диска. Максимальный размер метафайла Windows четыре гигабайта.
WMF является оригинальной 16-битной Windows Metafile формата, который появился с Windows 2.0. EMF файлов 32-битных пересмотра формата WMF. EMF файлов расширенной функциональностью более файлах WMF, включая цветовую палитру и полную поддержку всех 32-разрядных команд GDI. Win32 API (Windows 95 и Windows NT) и 32-битную поддержку OLE и WMF и EMF файлов. Win32s и Win16 API (Windows 3. Х) и 16-битных OLE поддерживает только WMF файлов.
Хотя формат Windows Metafile специфичный для Microsoft Windows, многие не-Windows-приложения на базе поддержки этого формата в качестве метода перестановки графическими данными с приложениями Windows. Из-за широкой популярности Microsoft Windows GUI, в формат Windows Metafile стало основной формат для графических приложений и, следовательно, поддерживается на большинстве платформ. Так, например, Adobe's Encapsulated PostScript (EPS) поддерживает использование Windows Metafile включать, когда это требуется для хранения векторных данных.
Если вы используете метафайлы в Windows или OS / 2 операционных систем вы не будете писать код для разбора их непосредственно, но вместо вызова набора Windows API функции, используемые для работы метафайлы. Потому что есть достаточные документации от Microsoft и IBM о том, как использовать метафайлы под Windows и OS / 2, эта статья будет посмотреть на структуру и прямой разбор метафайлы Microsoft без использования Windows API.
Если у вас есть доступ к Win16 Software Development Kit, то вы найдете все, что данные структуры и типа данных определения, связанные с файлами, WMF в заголовке файла windows.h. Для Win32 SDK вы найдете WMF и EMF определений в WINUSER.H WINGDI.H и файлы заголовков. Оба эти SDKs доступны с C и C + + компилятор, что поддержка Windows для разработки приложений.
Организация файлов
Metafile, состоящий из одного или двух заголовков информации и массив с переменной длиной записи, которые хранят вызова функции GDI информации.
Существуют четыре разновидности Метафайлы Windows: стандартные, незаменимые, буфер обмена, и укреплять. Стандартный Metafile содержит 18-байтный заголовок, WMF следуют одна или несколько записей команд GDI. Незаменимым Metafile содержит 22-байтный заголовок, за которым следуют стандартные 18-байтный заголовок, WMF и записи команд GDI. Блокнот метафайлы содержит 8-байт (Win16) или 16-разрядный (Win32) заголовок, который предшествует стандартный Metafile заголовке. Расширенные метафайлы ЭМП содержать только записи, с первой записи хранить информацию заголовка. EMF файлы не совместимы по дизайну с другими типами метафайлов WMF.
Метафайлы Windows (Рисунок Microsoft Windows Metafile-1) содержит заголовка, за которым следуют одна или несколько записей данных. Заголовок содержит описание записи данных, хранящихся в метафайл. Каждая запись является бинарной кодировке Microsoft Windows Graphics Device Interface (GDI) функции. GDI используется Windows для выполнения всех вывод в окно, принтер или другое устройство вывода. Когда оказывается Metafile данных (или воспроизводиться, в терминологии Microsoft), данные из каждой записи используется для выполнения соответствующих функций GDI призыв оказать каждого объекта хранится в файле. Последняя запись в файле содержится информация о том, что в конце записи данных достигнут.
Рисунок Microsoft Windows Metafile-1: Стандартный формат метафайла

Незаменимым метафайлы (Рисунок Microsoft Windows Metafile-2), WMF файлов с 18-байтный заголовок в начале. Это preheader содержат информацию, используемую для описания положения Metafile опираясь на печатной странице (что-то оригинальное дизайнеры файлов WMF не думал).
Рисунок Microsoft Windows Metafile-2: незаменимым формат метафайла

Блокнот метафайлы (Рисунок Microsoft Windows Metafile-3) близки к незаменимым метафайлы в том что также содержать дополнительные предшествовать в заголовке файла WMF. Блокнот preheader содержит информацию, используемую для описания положения Metafile на буфером обмена Windows и отображение режима используется для воспроизведения данных.
Рисунок Microsoft Windows Metafile-3: Блокнот формат метафайла

Расширенные метафайлы (Рисунок Microsoft Windows Metafile-4) имеют одинаковый базовый формат файлов WMF: заголовки следуют одна или несколько записей в графические объекты хранятся в виде команд GDI. В отличие от WMF, заголовков, также хранится в записи, которая выступает в качестве первой записи в каждом файле ЭМП. Заголовок ЭМП теперь содержит дополнительную информацию, включая положение и отображения информации, хранящейся в незаменимый и буфер Metafile preheaders. ЭМП также добавляет черты строку описания файла и программируемый палитрой цветов, формат метафайла.
Рисунок Microsoft Windows Metafile-4: расширенный формат метафайла

File Details
Стандартный Windows Metafile заголовок 18 байт и имеет следующую структуру:
ЬурейеЕ структура _WindowsMetaHeader
(
WORD FileType; / * Тип Metafile (0 = память, диск = 1) * /
СЛОВО HeaderSize / * размер заголовка в словах (всегда 9) * /
Word Version / * версии Microsoft Windows используется * /
DWORD FileSize; / * Общий размер метафайла слов * /
СЛОВО NumOfObjects / * Количество объектов в файле * /
DWORD MaxRecordSize / * Размер записи в крупнейшей слова * /
СЛОВО NumOfParams / * не используется (всегда 0) * /
WMFHEAD);
FileType содержит значение, которое показывает местоположение Metafile данных. Значение 0 указывает, что Metafile хранится в памяти, а 1 показывает, что хранится на диске.
HeaderSize содержит размер метафайла заголовок в 16-разрядных слов. Это значение всегда 9.
Версии хранит номер версии Microsoft Windows, которая создала метафайл. Это значение всегда читал в шестнадцатеричном формате. Например, в Metafile созданные Windows 3.0 и 3.1, этот пункт будет иметь значение 0x0300.
FileSize определяет общий размер метафайла в 16-разрядных слов.
NumOfObjects определяет количество объектов, которые находятся в метафайл.
MaxRecordSize определяет размер крупнейшего запись в Metafile словами.
NumOfParams не используется и установлен в значение 0.
Aldus незаменимым Метафайлы
Незаменимым Метафайлы (расширение файла. APM) был создан корпорацией Aldus как нестандартный способ указать, каким образом Metafile отображается и рассчитывается на выходе устройства. Незаменимым метафайлы довольно широкое распространение, но не поддерживается Windows API. Для воспроизведения незаменимым Metafile помощью Windows API, вы будете в первую очередь необходимо лишить незаменимым Metafile заголовка из файла. Обычно это осуществляется путем копирования Metafile к временному файлу, начиная с смещению 0x16. Содержание временный файл может быть затем использованы в качестве вклада в Windows GetMetaFile (), PlayMetaFile (), CopyMetaFile () и т.д. GDI функций. Метафайлы незаменимым ограничено до 64K в длину.
Каждый незаменимым Metafile начинается с 22-байт заголовка следуют стандартные Metafile:
ЬурейеЕ структура _PlaceableMetaHeader (DWORD Key; / * Магическое число (всегда 9AC6CDD7h) * / WORD ручки / * Metafile Ручка номер (всегда 0) * / коротким левым / * Левая координата в Metafile единицы * / короткой верхней; / * Топ координаты В Metafile единиц * / КОРОТКИЙ Право / * Право координировать свои действия в единицах Metafile * / КОРОТКИЙ Bottom / * Bottom координировать свои действия в единицах Metafile * / WORD дюймов / * Количество Metafile единицах на дюйм * / DWORD Reserved; / * защищены (всегда 0) * / WORD Checksum; / * контрольной суммы за предыдущие 10 слова * /) PLACEABLEMETAHEADER;
Ключевые содержит особое значение идентификации, которая указывает на наличие незаменимым Metafile заголовке и всегда 9AC6CDD7h.
Ручка используется, чтобы хранить дескриптор метафайла в памяти. При записи на диск, то это поле не используется и всегда содержит значение 0.
Левая, верхняя, правая и нижняя содержат координаты левого верхнего и правого нижнего угла изображения на выходном устройстве. Измеряемых в twips [1]. Эти четыре области также соответствуют RECT структура, используемая в Microsoft Windows и определены в файле windows.h.
[1] твип (что означает "двадцатой точки") представляет собой логическую единицу измерения, используемых в Windows Метафайлы. Твип равна 1 / 1440 дюйма. Таким образом 720 twips равной 1 / 2 дюйма, а 32768 twips является 22,75 дюйма.
Дюйм содержит число twips на дюйм, используемых для представления изображения. Как правило, есть 1440 twips на дюйм, однако это число может быть изменено для масштабирования изображения. Значение 720 указывает, что изображение удвоить свой нормальный размер, или сократить до коэффициента 2:1. Значение 360 указывает на масштаб 4:1, в то время как значение 2880 означает, что изображение сокращены в размерах в два раза. Значение 1440 указывает на масштаб 1:1 соотношение.
Сохраняются не используется и всегда равен 0.
Контрольная сумма содержит контрольную сумму значением за предыдущий 10 слов в заголовке. Это значение может быть в попытке обнаружить, если метафайл стала поврежден. Контрольная сумма рассчитывается по каждому значению XORing Слово к начальным значением 0:
PLACEABLEMETAHEADER PMH;
pmh.Checksum = 0;
pmh.Checksum ^ = (pmh.Key & 0x0000FFFFUL);
pmh.Checksum ^ = ((pmh.Key & 0xFFFF0000UL)>> 16);
pmh.Checksum ^ = pmh.Handle;
pmh.Checksum ^ = pmh.Left;
pmh.Checksum ^ = pmh.Top;
pmh.Checksum ^ = pmh.Right;
pmh.Checksum ^ = pmh.Bottom;
pmh.Checksum ^ = pmh.Inch;
pmh.Checksum ^ = (pmh.Reserved & 0x0000FFFFUL);
pmh.Checksum ^ = ((pmh.Reserved & 0xFFFF0000UL)>> 16);
Альтернативный способ пошаговое структура заголовка по одному слову время использовать указатель, как показано ниже:
PLACEABLEMETAHEADER * PMH, слово * PTR; PMH-> Checksum = 0; для (PTR = (WORD *) PMH; PTR <(Word *) PMH-> контрольную сумму; PTR + +) PMH-> Checksum ^ = * PTR;
Блокнот Metafile
Блокнот метафайлы хранятся в буфер обмена файлами Microsoft Viewer (расширение файла. CLP) и Microsoft Windows записать файлы (расширение файла. ИМР). Блокнот метафайлы также основаны на стандартных формат метафайла, но предшествует дополнительных 8 - или 16-байтный заголовок, что позволяет позиции Metafile в буфер обмена зрителя. Если в буфере обмена Metafile была создана с использованием 16-разрядной версии Windows (Windows и Windows для рабочих групп) этот заголовок будет содержать 2 байта полях расположены в следующем составе:
ЬурейеЕ структура _Clipboard16MetaHeader
(
КОРОТКИЙ MappingMode / * единицы, используемые для воспроизведения Metafile * /
КОРОТКИЙ Ширина / * Ширина Metafile * /
Малой высоты / * Высота Metafile * /
СЛОВО ручки / * Дескриптор метафайла в памяти * /
CLIPBOARD16METAHEADER);
MappingMode определяет тип окон координировать отображение единицы, используемые для хранения и воспроизведения Metafile данных. Это поле будет содержать одно из следующих значений:

Категория: Векторная | Добавил: (24.12.2009) | Автор: Давлетьярова Малика
Просмотров: 2449 | Рейтинг: 5.0/2 |
Всего комментариев: 0
avatar
Поиск по сайту

Наш опрос
С каким языком программирования вы хотели бы работать на уроках информатики?
Всего ответов: 525
Друзья сайта
Система Orphus
Статистика


Онлайн всего: 2
Гостей: 1
Пользователей: 1
Annabellric
Flag Counter
Архив записей

Copyright MyCorp © 2017