On Wed, 12 Aug 2026 20:45:40 GMT, Andy Goryachev <[email protected]> wrote:
> Something is wrong: the reproducer fails to render the PNG image attached to
> the ticket, `ImageIO.getWriter()` L1558 returns an empty iterator, so
> `ImageIO.write()` fails
>
> ```
> private static byte[] writeImage(Image im, String format) throws
> IOException {
> ByteArrayOutputStream out = new ByteArrayOutputStream(65536);
> try {
> // using disk cache slows things down
> boolean old = ImageIO.getUseCache();
> ImageIO.setUseCache(false);
> try {
> var bi = ImgUtil.fromFXImage(im, null);
> ImageIO.write(bi, format, out);
> } finally {
> ImageIO.setUseCache(old);
> }
> } finally {
> out.close();
> }
> return out.toByteArray();
> }
> ```
I guess it will fail as ImgUtil class which is copied implementation of
SwingFXUtils is not having this PR fix..
If I change ImageWriteTest_8388450.java to call SwingFXUtils.fromFXImage it
passes
./jdk/bin/java @C:/Users/Prasantas/dev/javafx/jfx/rt/build/run.args
ImageWriteTest_8388450.java
OK eclipse-key-mappings.png test
```
private static byte[] writeImage(Image im, String format) throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream(65536);
try {
// using disk cache slows things down
boolean old = ImageIO.getUseCache();
ImageIO.setUseCache(false);
try {
var bi = SwingFXUtils.fromFXImage(im, null);
ImageIO.write(bi, format, out);
} finally {
ImageIO.setUseCache(old);
}
} finally {
out.close();
}
return out.toByteArray();
}
-------------
PR Comment: https://git.openjdk.org/jfx/pull/2254#issuecomment-5275301421