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# - 没有收到 devexpress 表格的提示

c# - 在 Silverlight MVVM 应用程序中单击浏览器后退按钮时运行方法

c# - C# 中的计算数组值 - 响应式(Reactive)编程

.net - 反射,从方法中获取返回值

c++ - Gdiplus 位图没有 Alpha channel

c# - Silverlight 字母间距

c# - 无法在 C# 中初始化列表集合?

c# - 将 DataGridView 的最后一行卡住为列的总和?

c# - 如何复制 System.Drawing.Image 值?

c++ - 如何使用 Libwebp 从 Webp 解码和编码?