On Wed, 8 Oct 2025 22:05:05 GMT, Phil Race <[email protected]> wrote:
> This fix does a couple of things
>
> 1) AffineTransformOp.createCompatibleDestImage() and
> AffineTransformOp.createCompatibleDestRaster() now specify that they will
> throw RasterFormatException if the transformed size is too large. They were
> already getting an exception.
> Note that inside the JDK only the imaging API implementation itself uses
> these APIs and I suspect they are rarely used by applications.
>
> 2) AffineTransformOp.filter(src, null) will not throw an exception if it
> cannot create a destination image or raster of the required size and instead
> will use the source image size. This means applications which simply filter()
> will not need to carefully examine the transform. Sophisticated applications
> which want to do this can use the above "create*" methods to explicitly
> create the destination to find this out.
>
> So some inconsistency but I think it is a user-friendly trade-off.
>
> A CSR will be needed but I want to get past initial review first.
> Update : CSR is now created https://bugs.openjdk.org/browse/JDK-8370162
LGTM
test/jdk/java/awt/image/AffineTransformOp/AffineTxOpSizeTest.java line 66:
> 64: } catch (RasterFormatException e) {
> 65: }
> 66: }
alignment
-------------
Marked as reviewed by psadhukhan (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/27707#pullrequestreview-3409912528
PR Review Comment: https://git.openjdk.org/jdk/pull/27707#discussion_r2485673488