Надежное преобразование изображений в формате wmf / wmf в пиксели

StackOverflow https://stackoverflow.com/questions/785837

Вопрос

Добрый день,

У меня возникли небольшие проблемы с .внутренней обработкой метафайлов / изображений на основе .wmf-файлов net (System.Drawing), содержащих прозрачные области.В принципе, всякий раз, когда я создаю метафайл.LoadFile(...) и сохраняю его в формате tiff / png и т.д., некоторые области этих исходных файлов отсутствуют.Я не могу точно определить это, но кажется, что информация на основе векторов в метафайле работает нормально, но области на основе пикселей (напримеризображение, размещенное в файле .wmf) отсутствуют.

Кто-нибудь знает надежный, собственный для .net и не сторонний способ правильного преобразования wmf-файлов (например, ..конечное пиксельное изображение выглядит как файл .wmf..просто..что ж..неровный)?

Приветствия и благодарность, -J

Это было полезно?

Решение 2

Хорошо, что, по-видимому, наиболее надежным способом преобразования метафайлов (.wmf /.emf) в другой формат является использование .png в качестве выходного формата, поскольку где-то в описании msdn метафайлы в любом случае внутренне обрабатываются / преобразуются в формат png (с альфа и т.д.) И, напримерметафайл.Сохранить ("где-нибудь" ...) по умолчанию будет выводиться в формате png ImageFormat.

Поэтому, если вы хотите создать изображение не в формате png из входных метафайлов, вы получите наилучший результат, если приложите все усилия, преобразуете и сохраните его в формате png, а затем возьмете этот png и повторно преобразуете его в свой окончательный формат.Немного неубедительно, но опять же..wmf в любом случае сам по себе странный, и я пришел к (моему личному) выводу, что это зло.;)

-Джей

Другие советы

Проблема в том, что .NET - это GDI +, а WMF / EMF - это GDI.Важно знать, что GDI + несовместим с GDI, у них совершенно другие API и возможности.Следовательно, некоторые операции в метафайлах GDI ведут себя не так, как ожидалось.Прозрачные растровые изображения, но также преобразования мира в метафайлах и т.д.часто на самом деле они работают не так, как рекламируется Microsoft.

Лучшее, чего я добился на данный момент, - это преобразовать метафайл в native GDI +, что требует эмуляции стека GDI и применения некоторых основных настроек для позиционирования текста и т.д.верно.

Загляните в EMFExplorer, информация, найденная там, может вам очень помочь.http://www.codeproject.com/KB/GDI-plus/emfexplorer.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top