<div dir="ltr">Hi Kevin,<div><br></div><div>Compared to other difficulties, the most troublesome part of TwelveMonkeys for us was the color shift bug[1] when decoding images.</div><div>Our program allows users to choose their own background images, but this bug is causing all WebP background pictures to appear greenish :(</div><div><br></div><div>Additionally, JavaFX still doesn’t natively support any high-quality animated image format.<br>GIF quality is too poor. To support high-quality animated images, we had no choice but to implement APNG decoding ourselves in the program.<br>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.<br>It would be great if JavaFX could natively support animated WebP.</div><div><br></div><div>Glavo</div><div><br></div><div>[1]: <a href="https://github.com/haraldk/TwelveMonkeys/issues/734">https://github.com/haraldk/TwelveMonkeys/issues/734</a></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Dec 4, 2025 at 4:31 AM Kevin Rushforth <<a href="mailto:kevin.rushforth@oracle.com">kevin.rushforth@oracle.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div>
We don't currently have any plans to add such support, but could
consider it if there was enough demand.<br>
<br>
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).<br>
<br>
-- Kevin<br>
<br>
<br>
<div>On 12/3/2025 12:09 PM, Andy Goryachev
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr" style="font-family:"Iosevka Fixed SS16",Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
And HEIC.</div>
<div dir="ltr" style="font-family:"Iosevka Fixed SS16",Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div dir="ltr" style="font-family:"Iosevka Fixed SS16",Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
-andy</div>
<div dir="ltr" style="font-family:"Iosevka Fixed SS16",Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div id="m_-1847325362803636245mail-editor-reference-message-container">
<div style="text-align:left;padding:3pt 0in 0in;border-width:1pt medium medium;border-style:solid none none;border-color:rgb(181,196,223) currentcolor currentcolor;font-family:Aptos;font-size:12pt;color:black">
<b>From: </b>openjfx-dev <a href="mailto:openjfx-dev-retn@openjdk.org" target="_blank"><openjfx-dev-retn@openjdk.org></a>
on behalf of Glavo <a href="mailto:zjx001202@gmail.com" target="_blank"><zjx001202@gmail.com></a><br>
<b>Date: </b>Wednesday, December 3, 2025 at 12:01<br>
<b>To: </b>openjfx-dev <a href="mailto:openjfx-dev@openjdk.org" target="_blank"><openjfx-dev@openjdk.org></a><br>
<b>Subject: </b>WebP and AVIF image support<br>
<br>
</div>
<div dir="ltr">Hi,</div>
<p dir="auto">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.</p>
<p dir="auto">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.</p>
<p dir="auto">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.</p>
<p dir="ltr">Glavo</p>
</div>
</blockquote>
<br>
</div>
</blockquote></div>