On Fri, 17 Jun 2022 00:09:28 GMT, Sergey Bylokhov <[email protected]> wrote:

> 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!O6u_5a2OIv7nQRvzuo8YPagpD5wweMTCcCMXjlAULI5kuKM3O6ylgYgAkXRlVnqJZwTMSj08ApwCsE_EIQeU5A$
>  ):
> 
>> * 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!O6u_5a2OIv7nQRvzuo8YPagpD5wweMTCcCMXjlAULI5kuKM3O6ylgYgAkXRlVnqJZwTMSj08ApwCsE-MkB32-w$
>  
> 
> 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!O6u_5a2OIv7nQRvzuo8YPagpD5wweMTCcCMXjlAULI5kuKM3O6ylgYgAkXRlVnqJZwTMSj08ApwCsE8nfC5jpQ$
>  ) 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!O6u_5a2OIv7nQRvzuo8YPagpD5wweMTCcCMXjlAULI5kuKM3O6ylgYgAkXRlVnqJZwTMSj08ApwCsE9fNODMBw$
>   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!O6u_5a2OIv7nQRvzuo8YPagpD5wweMTCcCMXjlAULI5kuKM3O6ylgYgAkXRlVnqJZwTMSj08ApwCsE_VcZTZVA$
>  ).

src/java.desktop/share/classes/java/awt/color/ICC_ColorSpace.java line 539:

> 537:                         transforms[1] = mdl.createTransform(thisProfile,
> 538:                                         ColorTransform.Any, 
> ColorTransform.Out);
> 539:                     }

Note that this try/catch block is not needed, we never throw the exceptions 
here, but I follow this pattern for now. Will clean up it in the separate PR.

-------------

PR: https://git.openjdk.org/jdk/pull/9194

Reply via email to