Version complète: sur le forum Webmaster Hub : Librairie GD et infos sur PNG
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
MarvinLeRouge
Salut,

Peut-on, en php, savoir la profondeur de couleurs d'une une image png et si elle a un canal alpha ?

Merci
PoM_-
Salut Marvin.

Qu'appelle tu la profondeur de couleur?

Je me rappelle avoir utilisé dans le temps ( tongue.gif ) ces deux fonctions. Je sais pas si elles serviront a ce que tu demandes ( vu que j'ai pas vraiment compris ) mais je pense que la premiere peut etre la bonne.

imagecolorclosestalpha
imagesavealpha

Voila dis moi ce qu'il en est wink.gif
PoM_-
destroyedlolo
CITATION(MarvinLeRouge @ vendredi 08 juillet 2005, 09h41)
Salut,

Peut-on, en php, savoir la profondeur de couleurs d'une une image png et si elle a un canal alpha ?

Merci
*

Dans le meme genre, je n'ai pas trouve la fonction qui permet de specifier le taux de compression ...
MarvinLeRouge
_AT_Pom : je parle du nombre de couleurs dans l'image, savoir si l'image est du png 8 bits ou du png 24bits, avec ou sans canal alpha.
_AT_destroyedlolo : png étant un format de compression sans perte, je ne vois pas comment on pourrait spécifier un taux de compression huh.gif . En revanche, il me semble qu'il existe différentes méhodes d'optimisation, et j'ignore lesquelles php utilise.
MarvinLeRouge
Personne n'a d'idées ou c'est tout bonnement pas possible ?
destroyedlolo
CITATION(MarvinLeRouge @ vendredi 08 juillet 2005, 10h50)
@destroyedlolo : png étant un format de compression sans perte, je ne vois pas comment on pourrait spécifier un taux de compression huh.gif . En revanche, il me semble qu'il existe différentes méhodes d'optimisation, et j'ignore lesquelles php utilise.
*


Ben, les soft que j'utilise (GIMP et XV generalement), il y a un parametre qui indique le taux de compression, de 1 a 9. D'apres les docs, 9 offre le meilleur taux.
Boo2M0rs0
Pour la profondeur j'ai trouvé ça dans la doc:
http://fr.php.net/manual/fr/function.getimagesize.php :
CITATION
Avec les images JPG, deux en-têtes supplémentaires sont retournés : channels et bits. channels vaudra 3 avec les images RGB, et 4 avec les images CMYK. bits est le nombre de bits pour chaque couleur.

Depuis PHP 4.3, bits et channels sont présents pour tous types d'images.


Donc normalement:
$image_info = getimagesize("fichier.png");
$profondeur = $image_info['bits'] * 3;

Pour la transparence je cherches toujours :nono:

Et pour la compression, seul imagejpg() a un argument optionnel qui permet de choisir la qualité sad.gif
Dan
Je dirais plutôt:
CODE
$profondeur = $image_info['bits'] * $image_info['channels'];

pour obtenir la profondeur en bits et tenir compte des images CMYK.

Dan
Boo2M0rs0
Ben le problème c'est que je viens de tester sur mon site ( php 4.3.11 et gd 2.0.28 ) et je n'ai pas d'index appelé channels pour les fichiers png wacko.gif

Re-update de code whistling.gif
CODE
$profondeur = $image_info['bits'] * ( isset($image_info['channels']) ? $image_info['channels'] : 3 );
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.