Метафайлы (WMF, EMF) - универсальный формат векторных графических файлов, который является неотъемлемой частью операционной системы Windows. Поэтому, в Windows API существует достаточный набор функции для создания, чтения, записи, отображения данного векторного формата. Но, к сожалению, качество вывода изображения (растеризации), с помощью функций PlayMetaFile/PlayEnhMetaFile, не всегда устраивает разработчика программного обеспечения.
Библиотека MFRasterizer поможет заметно улучшить отображение метафайлов Windows (WMF, EMF) в ваших программах. Использование сглаживания (антиалиасинг) при растеризации векторного изображения устраняет «лесенки» на границах полигонов. Дополнительной возможностью библиотеки MFRasterizer является наличие параметров поворота и увеличения изображения, что, например, позволит использовать векторные метафайлы Windows (WMF, EMF) для построения систем отображения географических карт.
Пример сравнения растеризации векторного изображения
Пример сравнения растеризации текста
Библиотека растеризации Windows метафайлов (WMF, EMF) MFRasterizer распространяется в ДЕМО версии. Для разработки ваших программ, вы можете использовать демонстрационную версию библиотеки MFRasterizer, но для их использования и распространения нужно приобрести лицензию.
| Лицензия разработчика лицензией разрешается использование библиотеки MFRasterizer независимым разработчиком в одном своем программном продукте стоимостью менее 1000 рублей |
$99 |
 |
| Расширенная лицензия разработчика лицензией разрешается использование библиотеки MFRasterizer независимым разработчиком в одном своем программном продукте любой стоимости |
$299 |
 |
| Коммерческая лицензия лицензией разрешается использование библиотеки MFRasterizer компанией в одном своем программном продукте |
$999 |
 |
| Корпоративная лицензия лицензией разрешается использование библиотеки MFRasterizer компанией в любых своих программных продуктах |
$2999 |
 |
Функция MFRasterizerFile предназначена для максимально простого использования качественной растеризации метафайлов Windows (WMF, EMF) в ваших программах. В функцию передаются параметры растеризации и полный путь к метафайлу. Возвращает TRUE, в случае успешного завершения.
Существует две версии этой функции, одна для использования пути метафайла в кодировке ANSI, другая для использования пути метафайла в кодировке UNICODE.
bool MFRasterizerFile(
HDC hDC,
char* pcFilename,
RECT* pRect,
unsigned char bTransparency,
bool bProp,
double dAngle
);
bool MFRasterizerFileW(
HDC hDC,
wchar_t* pwcFilename,
RECT* pRect,
unsigned char bTransparency,
bool bProp,
double dAngle
);
| Параметр |
Описание |
| hDC |
Контекст для отображения растеризованного метафайла. |
| pcFilename |
Путь к метафайлу (в кодировке ANSI). |
| pwcFilename |
Путь к метафайлу (в кодировке UNICODE). |
| pRect |
Указатель на структуру с координатами ограничительного прямоугольника, используемого, чтобы отобразить изображение. |
| bTransparency |
Индекс прозрачности (от 0 до 255, 0 - полностью прозрачное изображение). |
| bProp |
Флаг пропорциональности. Если установлен в TRUE, то изображение будет растеризовано с учетом соотношения его размеров. |
| dAngle |
Угол поворота изображения в радианах. |
Функция MFRasterizer предназначена для более эффективного использования библиотеки растеризации метафайлов Windows (WMF, EMF). В качестве входного параметра используется дескриптор метафайла. Также имеется возможность задать параметры для увеличения изображения при растеризации. Возвращает TRUE, в случае успешного завершения.
bool MFRasterizer(
HDC hDC,
HENHMETAFILE hMetafile,
RECT* pRect,
unsigned char bTransparency,
double dAngle,
double dX1,
double dY1,
double dX2,
double dY2
);
| Параметр |
Описание |
| hDC |
Контекст для отображения растеризованного метафайла. |
| hMetafile |
Дескриптор метафайла для растеризации. |
| pRect |
Указатель на структуру с координатами ограничительного прямоугольника, используемого, чтобы отобразить изображение. |
| bTransparency |
Индекс прозрачности (от 0 до 255, 0 - полностью прозрачное изображение). |
| dAngle |
Угол поворота изображения в радианах. |
| dX1 |
Координата левого верхнего угла метафайла для растеризации в относительных единицах (от 0 до 1). Используется для увеличения изображения. |
| dY1 |
| dX2 |
Координата правого нижнего угла метафайла для растеризации в относительных единицах (от 0 до 1). Используется для увеличения изображения. |
| dY2 |
Библиотека растеризации метафайлов Windows (WMF, EMF) MFRasterizer разработана с использованием графической библиотеки Anti-Grain Geometry (AGG).