c# - 将 ICC 颜色配置文件应用于 C# (Dotnet) 中的图像

标签 c# .net gdi+ color-management

如何将图像从一种颜色配置文件转换为另一种颜色配置文件(屏幕到打印机,或扫描仪到屏幕)。在 Visual C++ 中,您将使用 ICM.h 中的函数,是否有一种管理方式可以使用 GDI+ 执行此操作?

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

最佳答案

有很多解决方案。

  1. 对于 GDI+,check out this article at MSDN (方法:使用 GDI+ 和图像颜色管理调整图像颜色)。
  2. 对于 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/

相关文章:

C#:是否有必要在自定义控件中处理图形元素?

windows - Win32 : Does a window have the same HDC for its entire lifetime?

.net - 磁盘空间 StreamWriter 与 Out-File

c++ - 如何将opencv mat图像转换为gdi位图

c# - 绕过 DotNet 核心服务堆栈上的 SSL 证书验证

c# - MVC3 (Razor) 单选按钮检查

c# - 我怎样才能阻塞直到第一个线程完成?

c# - 我应该如何强制加载引用的程序集?

c# 计时器不准确?

c# - ASP.NET:HtmlGenericControl ("div") 或面板