Использует ли System.Windows.Media.Imaging DirectX (например, WPF) или GDI +? - PullRequest
1 голос
/ 17 июля 2009

Сначала я использовал SSRS для рендеринга документа TIFF и обнаружил, что хотя можно передать параметр глубины цвета в SSRS 2005 или 2008, он отбрасывает его и всегда генерирует файл 24bpp. Без удачи, получил этот файл 24bpp, сгенерированный методом рендеринга SSRS, загрузил его в объект System.Drawing.Bitmap и успешно масштабировал его до 1728 пикселей на 2347 пикселей при 204dpi и 196dpi (11,50 дюйма на 8,82 дюйма), но потерпел неудачу при его рисовании к новому монохромному (битональному) объекту System.Drawing.Bitmap. .Net допускает создание индексируемых файлов 1bpp, но преобразование глубины цвета не предусмотрено, поэтому для достижения этой цели мне пришлось написать специальную функцию c #. После масштабирования, изменения разрешения и глубины цвета я сохранил объект System.Drawing.Bitmap в файл и обнаружил, что тег 254 (NewSubfileType) имеет недопустимое значение 0 вместо 2 (FILETYPE_PAGE), тег 266 (FillOrder) отсутствует и растровое изображение контент был распределен по нескольким полосам. Посмотрел Encoder и EncoderParameters и не нашел способа изменить методы Bitmap Save и SaveAdd, чтобы они выдавали файл в правильном формате (tiff-f), который мне нужен. Теперь, устав от System.Drawing + GDI +, узнал об этом System.Windows.Media.Imaging. Это также страдает от GDI + или использует новую технологию DirectX и может позволить мне управлять им так, чтобы легко создать совместимый файл TIFF-F?

1 Ответ

0 голосов
/ 19 июля 2009

Попробуйте запустить Reflector на этой сборке и углубиться в этот код, чтобы выяснить это. Вы также можете настроить Visual Studio, чтобы при пошаговом выполнении кода вы могли просматривать исходный код .NET в отладчике.

...