如何将图像从一种颜色配置文件转换为另一种颜色配置文件(屏幕到打印机,或扫描仪到屏幕)。在 Visual C++ 中,您将使用 ICM.h 中的函数,是否有一种管理方式可以使用 GDI+ 执行此操作?
我需要使用 GDI+,而不是 WPF。我更希望有一个托管解决方案,但如果它不可用,我想 PInkvoke 就足够了。
最佳答案
有很多解决方案。
- 对于 GDI+,check out this article at MSDN (方法:使用 GDI+ 和图像颜色管理调整图像颜色)。
- 对于 WPF (.NET 3.0),请参阅 System.Windows.Media命名空间。有许多不同的类别,例如 BitmapEncoder , 具有 ColorContext 的概念,它“表示与位图图像关联的国际色彩联盟 (ICC) 或图像色彩管理 (ICM) 颜色配置文件。”
这两个看起来都很复杂,所以总是可以选择购买别人的代码。 Atalasoft 的DotImage Photo Pro内置ICC配置文件设置功能。代码昂贵;开发许可证几乎是 2k。但基于他们对 dotnet 社区的参与,我会试一试。
关于c# - 将 ICC 颜色配置文件应用于 C# (Dotnet) 中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38295/