2012-02-17 2 views
6

Вкратце: я хочу присвоить цветному профилю ICC изображению и не применять его.Назначить цветной профиль ICC изображению на C#

Дополнительная информация: В моей компании нам необходимо объединить многослойный PDF-файл в один слой. Для этого мы объединяем страницу PDF в изображение, а затем сохраняем изображение в формате pdf. Но в процессе создания изображения цветовой профиль изображения теряется. Если мы применим цветовой профиль в C#, профиль будет преобразовываться из Device RGB (выход по умолчанию .NET) в профиль sRGB_IEC61966-2-1_no_black_scaling.icc. При трансформации некоторые цвета меняются. Вместо применения цветового профиля нам нужно назначить его. Это означает, что никакие цвета не преобразуются.

Кто-нибудь знает, как этого достичь? Заранее спасибо.

ответ

6

Прежде чем начать работу над вашим растровым рисунком (т. Е. Перед началом компоновки отдельных компонентов PDF), убедитесь, что растровое изображение имеет целевой профиль ICC. Вы говорите, что ваши индивидуальные фотографии имеют необходимый профиль, встроенный в них, и это теряется при преобразовании. Чтобы сохранить профиль, убедитесь, что вы используете следующий метод загрузки, который уважает любую информацию цвета профиля:

http://msdn.microsoft.com/en-us/library/4sahykhd.aspx

Вы можете использовать эту первую битовую карту в качестве цели для вашей композиции работы, а затем экспортировать его позже. Он должен сохранить исходный профиль ICC.

В качестве альтернативы вы можете использовать библиотеки FreeImage или ImageMagick для управления профилями цвета явно. Они оба имеют .NET оберток и позволяют для зачистки/применения файлов профиля ICC:

Free Image Library

Image Magick Command-Line Profile Options

Image Magick .NET Wrapper

Я надеюсь, что это помогает.

+0

Я использую Aspose.Pdf.Kit для преобразования PDF-страницы в System.Windows.Image, и эта функция не предоставляет возможность сохранить цветной профиль. Но сейчас я просматриваю библиотеки, которые вы предлагали. – SynerCoder

+0

Эта (бесплатная библиотека изображений) решила проблему, которую я задал, но теперь у меня есть другой, я награду за награду за 17 часов. – SynerCoder

+0

@SynerCoder - здорово, что библиотека помогла. Я продолжаю понимать, что делать с ним сам, поскольку он кажется очень гибким. Извините, что вы столкнулись с новой проблемой, хотя :( –

Смежные вопросы