如何使用icc颜色配置文件嵌入正确显示图像?

时间:2018-02-24 17:50:29

标签: delphi firemonkey

在delphi tokyo下,如果我尝试显示此图片:

https://chromachecker.com/include/img/web_browser/redtruck_GBR.jpg

enter image description here

在Timage内部,而不是蓝天,它会显示如下所示的 GREEN 天空:

enter image description here

如何在delphi中使用嵌入颜色配置文件正确显示图片?

1 个答案:

答案 0 :(得分:2)

完整的答案和例子太宽泛了。但这是一个粗略的概述你需要做什么。将其视为进一步研究的起点。

  1. 获取图像的颜色配置文件。 EXIF数据指的是一个众所周知的配置文件,或者它嵌入在图像元数据中。
  2. 获取屏幕GetICMProfile
  3. 的颜色配置文件
  4. 加载屏幕和图像的颜色配置文件:OpenColorProfile
  5. 创建颜色转换:CreateMultiProfileTransform
  6. 翻译颜色:TranslateBitmapBits
  7. 清理:CloseColorProfileDeleteColorTransform