Hi Kevin, Compared to other difficulties, the most troublesome part of TwelveMonkeys for us was the color shift bug[1] when decoding images. Our program allows users to choose their own background images, but this bug is causing all WebP background pictures to appear greenish :(
Additionally, JavaFX still doesn’t natively support any high-quality animated image format. GIF quality is too poor. To support high-quality animated images, we had no choice but to implement APNG decoding ourselves in the program. However, APNG files are insanely large — one of my 5-second, 1920×1080, 60 fps animated wallpapers ends up reaching 1 GiB in size, which makes APNG almost equally impractical. It would be great if JavaFX could natively support animated WebP. Glavo [1]: https://github.com/haraldk/TwelveMonkeys/issues/734 On Thu, Dec 4, 2025 at 4:31 AM Kevin Rushforth <[email protected]> wrote: > We don't currently have any plans to add such support, but could consider > it if there was enough demand. > > Now that we have support for using Java2D's ImageIO an application could > provide one or use a third-party ImageIO loader for those formats, but that > would have similar limitations to those mentioned (it wouldn't support > animated images and the application would need to bundle the loader). > > -- Kevin > > > On 12/3/2025 12:09 PM, Andy Goryachev wrote: > > And HEIC. > > -andy > > *From: *openjfx-dev <[email protected]> > <[email protected]> on behalf of Glavo <[email protected]> > <[email protected]> > *Date: *Wednesday, December 3, 2025 at 12:01 > *To: *openjfx-dev <[email protected]> <[email protected]> > *Subject: *WebP and AVIF image support > > Hi, > > The image formats supported by JavaFX have not been updated for a very > long time. However, more and more content providers are now adopting newer > formats such as WebP and AVIF. > > For example, our application needs to display icons for Minecraft mods, > modpacks, and other content sourced from Modrinth, and the vast majority of > these icons are in WebP format. To work around this, we currently have to > bundle TwelveMonkeys into our program, decode the images to BufferedImage, > and then convert them to javafx.scene.image.Image. This approach > significantly increases the size of our application, adds considerable > performance overhead, does not support animated WebP, and even has a > color-shift bug when decoding lossy-compressed WebP images. > > Is there any possibility that JavaFX will add native support for modern > image formats like WebP and AVIF in the future? I noticed that the > javafx.web module already depends on libwebp during its build, yet this > dependency is not utilized for javafx.scene.image.Image decoding—which is > honestly a bit of a shame. We sincerely hope that JavaFX can provide native > support for these formats. > > Glavo > > >
