[Transparence] Ouvrir un PNG-8 avec bloc tRNS ?

Bug, suggestion, ça se passe par ici !
Ne concerne que ce qui touche au logiciel en lui même.

Modérateur : Modérateurs

Règles du forum
:idea: Forum d'aide au fonctionnement de PhotoFiltre et de PhotoFiltre Studio.
:idea: Merci de consulter la documentation de PF Studio, et de lire cette information, pour vous orienter.
Si vous êtes débutant, voir Comment me lancer. Votre question a peut-être déjà sa réponse.
Felipe
Nouveau(elle)|Nouveau|Nouvelle
Nouveau(elle)|Nouveau|Nouvelle
Messages : 2
Inscription : 04 janv. 2008 19:56
Version de PhotoFiltre : 6.2.7
Système d'exploitation : XP SP2
Mémoire RAM : 2Go

[Transparence] Ouvrir un PNG-8 avec bloc tRNS ?

Message par Felipe »

Bonjour à tous,

je suis en train de tester Photofiltre (que je connais, apprécie et utilise depuis longtemps) et PFS que je viens seulement de découvrir (par hasard! en cherchant une solution à mon problème sur le site)

Mes problèmes actuels avec ces 2 logiciels tournent autour de la transparence. PFS semble nettement plus avancé de ce côté-là - le problème était surtout que je ne le connaissais pas, haha - alors bravo au concepteur, c'est vraiment pas évident de trouver un système efficace permettant de travailler sur quelque chose qu'on ne voit pas! :clap:

Malgré ça, j'ai quand même un souci: j'aimerais pouvoir charger dans ces 2 logiciels des PNG-8 comportant un bloc ('chunk') tRNS et ce n'est pas possible actuellement:

Jusqu'à présent, je récupèrais des PNG-24 ou des .PSD sans transparence, je faisais 2-3 découpages, redimensionnements et je sauvegardais en PNG.
Maintenant, je voudrais aller plus loin et améliorer mes images côté poids en ko et supporter les transparences. Pour cela, la meilleure méthode que je viens de découvrir sur un site américain {1} et que j'expérimente est de créer à partir des PNG-24 avec couche alpha des PNG-8 qui comportent à la fois la couleur de transparence dans les 256 couleurs indexées ET un bloc tRNS où chacune des 256 couleurs indexées se voit attribuer un degré de transparence de 0 à 255.
Le problème est que, d'après l'article, seul Adobe Fireworks permet de manipuler ces images-là (enregistrer et rouvrir).
Bon en fait, d'après un billet de blog {2} un autre programme permet aussi de créer ces images en 256 couleurs + dégradés de transparence via le bloc tRNS: il s'agit de pngnq {3}, un programme qui transforme les images en 16 millions de couleurs en 256 couleurs selon un algorithme super-performant tout en prenant soin de conserver la transparence d'origine 8)

Par contre, si j'essaie d'ouvrir le résultat dans PhotoFiltre (ou Studio), ce dernier refuse, impossible.
Paint.NET les rouvre mais pour ce que j'ai à faire, il ne me semble pas aussi pratique que PF ou PFS ...
IrfanView ignore (semble-t'il) ce bloc tRNS donc il affiche quelque chose mais ce n'est qu'un visualiseur d'images pas conçu pour les manipuler.

J'ai fait quelques tests avec TweakPNG:
Si grâce à TweakPNG je supprime le bloc tRNS et que je sauvegarde ce PNG, PhotoFiltre l'ouvre sans problème.
Si toujours grâce à TweakPNG, j'exporte le bloc tRNS, que je le supprime, que je rouvre l'image dans PF et que je la modifie, redimensionne, etc puis sauvegarde (à condition de ne pas modifier l'index des couleurs dans la palette) et que à nouveau grâce à TweakPNG je réimporte le bloc tRNS dedans, eh bien PF refuse à nouveau de l'ouvrir mais ça s'affiche correctement dans Firefox, Opera, Safari, IE7 (et partiellement dans IE6)

J'ai mis en ligne un exemple: http://www.vayssiere.fr/tests/png/png.html {4} (les n°2 et 3 refusent de s'ouvrir dans PF et PFS)


Je peux bien entendu m'arranger pour toujours manipuler les PNG-24+alpha dans PhotoFiltre et, grâce aux programmes pngnq et Optipng, {5} exporter au dernier moment les PNG-8 qui seront utilisés sur un site web, mais ce serait quand même plus pratique de pouvoir aussi rouvrir ces images-là :wink:


Mon souhait:
Si PhotoFiltre (et/ou Studio) pouvaient ouvrir (et uniquement ouvrir) ces PNG-là, ce serait super!
Pour implémenter ça, ce serait peut-être possible d'ouvrir les PNG-8 comme des PNG-24 avec transparence (mode RVBA)? :?: Il faudrait reconstituer les couches RVB à partir de la palette (ça, ça se fait déjà quand on passe du mode indexé au mode RVB ou RVBA) et puis faire de même avec les transparences indexées (elles sont dans le même ordre que la palette d'après la doc {6}).
Le seul défaut est qu'on ne pourra pas sauvegarder de PNG-8 avec tRNS, uniquement les charger et sauver des PNG-24 transparents, m'enfin ça n'a absolument aucune importance, pngnq le fait très bien :lol: Pouvoir les rouvrir serait déjà super!


Bon, désolé pour ce pavé :oops: où j'ai mélangé mon souhait et le pourquoi de ce souhait, mais j'ai du mal à m'arrêter quand je la décris: cette technique a de grandes chances de bien améliorer le sort des webdesigners et intégrateurs (et surtout d'embellir les sites web) sans avoir à attendre la disparition d'IE6 dans quelques années.


{1} http://www.sitepoint.com/blogs/2007/09/ ... ar-winner/ ces PNG-8 permettent d'obtenir les jolis dégradés de transparence dans tous les bons navigateurs (donc pas IE6) et malgré tout d'avoir dans IE6 la transparence de base (où chaque pixel est simplement soit opaque soit transparent). Cela évite le gros problème d'IE6 avec les PNG-24 transparents où un horrible fond gris remplace la transparence ... Le beurre et l'argent du beurre!

{2} http://eriestuff.blogspot.com/2007/11/c ... rency.html

{3} http://pngnq.sourceforge.net/index.html (voir [2] pour la méthode d'installation car il faut installer 2 DLLs à la main)

{4} Dans ma page d'exemple, j'ai repris le toucan du site d'antp: http://antp.be/PNG/alpha/

{5} http://optipng.sourceforge.net/

{6} http://www.libpng.org/pub/png//spec/1.2 ... tml#C.tRNS
Antonio
Administrateur(trice)|Administrateur|Administratrice
Administrateur(trice)|Administrateur|Administratrice
Messages : 13108
Inscription : 28 oct. 2003 22:49

Re: [Transparence] Ouvrir un PNG-8 avec bloc tRNS ?

Message par Antonio »

PhotoFiltre et PFS supportent bien les PNG 8 bit avec transparence donc je ne pense pas que le problème soit le marqueur tRNS mais un autre (genre commentaire). PFS supporte aussi le PNG 24 avec transparence simple et PNG 32 avec alpha.

A l'occasion j'essaye d'ouvrir ces exemples en mode debug sur mon PC pour voir où ça plante exactement pour en savoir plus...
Antonio
Administrateur(trice)|Administrateur|Administratrice
Administrateur(trice)|Administrateur|Administratrice
Messages : 13108
Inscription : 28 oct. 2003 22:49

Re: [Transparence] Ouvrir un PNG-8 avec bloc tRNS ?

Message par Antonio »

Apparament ce sont bien des PNG 8 bits en couleurs indexées avec couche alpha sur 8 bits également. Je ne savais que ça existait...je vais voir s'il est possible de faire une mise à jour de la lib png

Pour implémenter ça, ce serait peut-être possible d'ouvrir les PNG-8 comme des PNG-24 avec transparence (mode RVBA)?
==> c'est en effet la meilleur solution, mais j'utilise une lib (TPngOpbject) qui n'est pas de moi donc c'est pas évident à modifier :(