RFR: 8288633: The ICC_ColorSpace.fromCIEXYZ method uses the wrong rendering intent [v2]
Sergey Bylokhov
serb at openjdk.org
Thu Jun 23 06:12:37 UTC 2022
> The specification of the ICC_ColorSpace.fromCIEXYZ method [says](https://urldefense.com/v3/__https://github.com/openjdk/jdk/blob/9d4b25e7888098a866ff980e37b8d16d456906d8/src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java*L428__;Iw!!ACWV5N9M2RV99hQ!IJJLWj4I9dcJ4yXCu-UdKP0SxwlTrppr5gQ9cHORP1CPHKQui0bgNjfvD2Sa7UaOIBCxbN5AX_Hm9ZzsavUWyw$ ):
>
>> * This method transforms color values using relative colorimetry, as defined by the ICC Specification.
>
> The LCMS plugin implementation expects the rendering intent in the first part of transform:
> https://urldefense.com/v3/__https://github.com/openjdk/jdk/blob/9d4b25e7888098a866ff980e37b8d16d456906d8/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMSTransform.java*L116__;Iw!!ACWV5N9M2RV99hQ!IJJLWj4I9dcJ4yXCu-UdKP0SxwlTrppr5gQ9cHORP1CPHKQui0bgNjfvD2Sa7UaOIBCxbN5AX_Hm9ZzUSCgAVQ$
>
> But the ICC_ColorSpace.fromCIEXYZ pass "ICC_Profile.icRelativeColorimetric" to the [second ](https://urldefense.com/v3/__https://github.com/openjdk/jdk/blob/9d4b25e7888098a866ff980e37b8d16d456906d8/src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java*L534__;Iw!!ACWV5N9M2RV99hQ!IJJLWj4I9dcJ4yXCu-UdKP0SxwlTrppr5gQ9cHORP1CPHKQui0bgNjfvD2Sa7UaOIBCxbN5AX_Hm9ZwMfwrirg$ ) part of transform.
>
> Note that ICC_ColorSpace.toCIEXYZ has a similar [specification ](https://urldefense.com/v3/__https://github.com/openjdk/jdk/blob/9d4b25e7888098a866ff980e37b8d16d456906d8/src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java*L288)is__;Iw!!ACWV5N9M2RV99hQ!IJJLWj4I9dcJ4yXCu-UdKP0SxwlTrppr5gQ9cHORP1CPHKQui0bgNjfvD2Sa7UaOIBCxbN5AX_Hm9Zz9XsnUbw$ implemented [properly](https://urldefense.com/v3/__https://github.com/openjdk/jdk/blob/9d4b25e7888098a866ff980e37b8d16d456906d8/src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java*L391__;Iw!!ACWV5N9M2RV99hQ!IJJLWj4I9dcJ4yXCu-UdKP0SxwlTrppr5gQ9cHORP1CPHKQui0bgNjfvD2Sa7UaOIBCxbN5AX_Hm9ZwYioFgQw$ ).
Sergey Bylokhov has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:
- Merge branch 'openjdk:master' into JDK-8288633
- Update ICC_ColorSpace.java
- 8288633: The ICC_ColorSpace.fromCIEXYZ method uses the wrong rendering intent
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/9194/files
- new: https://git.openjdk.org/jdk/pull/9194/files/3dba4abc..045e55bf
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=9194&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=9194&range=00-01
Stats: 26181 lines in 669 files changed: 7449 ins; 8671 del; 10061 mod
Patch: https://git.openjdk.org/jdk/pull/9194.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/9194/head:pull/9194
PR: https://git.openjdk.org/jdk/pull/9194
More information about the client-libs-dev
mailing list