Non, pas comme PNG. Il y a une transformation en palette (en interne) dans l'encodeur, c'est à dire que s'il voit que l'image en entrée n'utilise qu'une quantité limité de combinaison, il peut choisir de coder en palette, mais ce n'est qu'un encodage, ce n'est pas décrit dans le fichier généré et tu ne peux pas définir cette palette (vu que c'est interne à l'encodeur). Il n'y a rien qui te garantisse un 1:1 de la palette PNG vers la table de composantes internes à JPEGXL.
Tu peux avoir 256 couleurs dans ta palette PNG dont seulement 4 utilisées dans l'image. Après conversion JXL, tu n'auras que 4 "couleurs" dans ta palette, les autres couleurs seront perdues (et l'ordre sera aléatoire de toute façon).
Cela peut paraître être du détail, mais lorsque tu fais du pixel art, typiquement pour un jeu, tu veux que l'ensemble des ressources utilisent quasiment tous la même palette.
Ou, si tu enregistres des images thermiques 16 bits, la palette indique la température des pixels observés ou pas, ce qui n'est pas linéaire avec la valeur du pixel, tu ne veux donc pas la perdre.
etc...
Bref, JXL n'est pas LE format qui les remplace tous, peut être pour la grosse majorité des applications, mais pas toutes.
[^] # Re: Dubitatif par rapport à avif
Posté par xryl669 . En réponse à la dépêche Première sortie du décodeur JPEG-XL en Rust. Évalué à 9. Dernière modification le 25 septembre 2025 à 10:05.
Non, pas comme PNG. Il y a une transformation en palette (en interne) dans l'encodeur, c'est à dire que s'il voit que l'image en entrée n'utilise qu'une quantité limité de combinaison, il peut choisir de coder en palette, mais ce n'est qu'un encodage, ce n'est pas décrit dans le fichier généré et tu ne peux pas définir cette palette (vu que c'est interne à l'encodeur). Il n'y a rien qui te garantisse un 1:1 de la palette PNG vers la table de composantes internes à JPEGXL.
Tu peux avoir 256 couleurs dans ta palette PNG dont seulement 4 utilisées dans l'image. Après conversion JXL, tu n'auras que 4 "couleurs" dans ta palette, les autres couleurs seront perdues (et l'ordre sera aléatoire de toute façon).
Cela peut paraître être du détail, mais lorsque tu fais du pixel art, typiquement pour un jeu, tu veux que l'ensemble des ressources utilisent quasiment tous la même palette.
Ou, si tu enregistres des images thermiques 16 bits, la palette indique la température des pixels observés ou pas, ce qui n'est pas linéaire avec la valeur du pixel, tu ne veux donc pas la perdre.
etc...
Bref, JXL n'est pas LE format qui les remplace tous, peut être pour la grosse majorité des applications, mais pas toutes.