Преобразование EMF в BMP (метафайл в растровое изображение) с помощью компонента обработки изображений Windows

У меня есть файл .emf, который я хочу преобразовать в растровое изображение в устаревшем коде VC ++ 6.0.

Я просматривал документацию WIC и удивился, что не нашел способа сделать это.

Я что-то пропустил?

Если WIC не поддерживает это, существует ли метод программной загрузки файла .emf в объект CBitmap?

0

Решение

Там нет необходимости для WIC. Он встроен в ядро ​​самой Windows в виде PlayEnhMetafile.

Итак, чтобы получить изображение в BMP, вы выбираете свой BMP в DC, затем выполняете PlayEnhMetafile на этом DC, и результат переходит в BMP.

Обратите внимание, что на самом деле это не преобразование метафайла в BMP — это рендеринг метафайла в BMP. То есть метафайл (обычно) не зависит от разрешения. Например, он может указывать строку от логической координаты (0,0) до (100, 100). Когда вы визуализируете это в BMP, вы получаете растеризацию линии с определенным разрешением. Если позже вам понадобится та же картинка в более высоком разрешении, метафайл может предоставить ее, но рендеринг в BMP не может / не может.

1

Другие решения


По вопросам рекламы [email protected]