【发布时间】:2010-09-07 11:41:52
【问题描述】:
如何将图像从一种颜色配置文件转换为另一种(屏幕到打印机,或扫描仪到屏幕)。在 Visual C++ 中,您将使用 ICM.h 中的函数,是否有使用 GDI+ 执行此操作的托管方式?
我需要使用 GDI+,而不是 WPF。我希望有一个托管的解决方案,但如果它不可用,我想 PINkvoke 就足够了。
【问题讨论】:
标签: c# .net gdi+ color-management
如何将图像从一种颜色配置文件转换为另一种(屏幕到打印机,或扫描仪到屏幕)。在 Visual C++ 中,您将使用 ICM.h 中的函数,是否有使用 GDI+ 执行此操作的托管方式?
我需要使用 GDI+,而不是 WPF。我希望有一个托管的解决方案,但如果它不可用,我想 PINkvoke 就足够了。
【问题讨论】:
标签: c# .net gdi+ color-management
有多种解决方案。
这两者看起来都相当复杂,所以总是可以选择购买别人的代码。 Atalasoft的DotImage Photo Pro内置了ICC配置文件设置功能。代码很贵;一个开发许可证几乎是 2k。但基于他们对 dotnet 社区的参与,我会试一试。
【讨论】:
你应该看看Lcms。它是一个色彩管理系统,相当完整,但用 C 编写。您可以使用 pinvoke,但我会推荐托管 C++ 包装器。我实际上目前正在围绕引擎开发一个托管包装器(只是基础知识、颜色配置文件转换、实验室读数)。完成后我可以发布代码链接。不过可能需要一周左右的时间。
【讨论】: