关于.net:将ICC颜色配置文件应用到C#中的图像(点网)

关于.net:将ICC颜色配置文件应用到C#中的图像(点网)

Apply an ICC Color Profile to an image in C# (Dotnet)

一个人如何将图像从一种颜色配置文件转换为另一种颜色配置文件(从屏幕到打印机,或从扫描仪到屏幕)。在Visual C中,您可以使用ICM.h中的函数,是否可以通过GDI来实现此目的?

我需要使用GDI而不是WPF。我希望有一个托管的解决方案,但是如果没有可用的解决方案,我想PInkvoke就足够了。


有许多解决方案。

  • 对于GDI,请在MSDN上查看本文。
  • 对于WPF(.NET 3.0),请参见System.Windows.Media命名空间。有许多不同的类,例如BitmapEncoder,具有ColorContext的概念,它表示与位图图像相关联的国际色彩协会(ICC)或图像色彩管理(ICM)颜色配置文件。"
  • 这两者看起来都很复杂,因此总可以选择购买别人的代码。 Atalasoft的DotImage Photo Pro具有内置的ICC配置文件设置功能。开发者许可证将近2k。但是基于他们在互联网社区的参与,我会给他们一个回旋感。


    您应该看看Lcms。它是一个色彩管理系统,相当完整,但是用C编写。您可以使用pinvoke,但我建议使用Managed C wrapper。实际上,我目前正在引擎周围的托管package器(只是基础知识,颜色配置文件转换,实验室读数)。完成后,我可以发布指向代码的链接。不过可能要一周左右。


    推荐阅读