Как преобразовать изображение из одного цветового профиля в другой (с экрана на принтер или со сканера на экран). В Visual C++ вы бы использовали функцию из ICM.h, есть ли управляемый способ сделать это с помощью GDI +?
Мне нужно использовать GDI +, а не WPF. Я бы предпочел иметь управляемое решение, но если оно недоступно, думаю, PInkvoke будет достаточно.





Есть несколько решений.
Оба они кажутся довольно сложными, поэтому всегда есть возможность купить чужой код. DotImage Photo Pro от Atalasoft имеет встроенные возможности настройки профиля ICC. Код дорогостоящий; лицензия на разработку почти 2к. Но, основываясь на их участии в сообществе дотнетов, я бы их подбодрил.
Вам следует взглянуть на Lcms. Это система управления цветом, довольно полная, но написанная на C. Вы можете использовать pinvoke, но я бы рекомендовал оболочку Managed C++. На самом деле в настоящее время я работаю над управляемой оболочкой для движка (только основы, преобразование цветового профиля, лабораторные показания). Я могу опубликовать ссылку на код после того, как закончу. Хотя это может занять неделю или около того.
Пожалуйста, отправьте ссылку, как только закончите! Это звучит идеально.
Mattlant, Вы хоть раз доделывали управляемую обертку для lcms. Если да, не могли бы выложить это где-нибудь? Спасибо.
Ссылка MSDN мертва