Aller au contenu

Librairie GD et infos sur PNG


Sujets conseillés

Posté

Salut Marvin.

Qu'appelle tu la profondeur de couleur?

Je me rappelle avoir utilisé dans le temps ( :P ) 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 ;)

PoM_-

Posté
Salut,

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

Merci

<{POST_SNAPBACK}>

Dans le meme genre, je n'ai pas trouve la fonction qui permet de specifier le taux de compression ...

Posté

_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: . En revanche, il me semble qu'il existe différentes méhodes d'optimisation, et j'ignore lesquelles php utilise.

Posté
@destroyedlolo : png étant un format de compression sans perte, je ne vois pas comment on pourrait spécifier un taux de compression :huh: . En revanche, il me semble qu'il existe différentes méhodes d'optimisation, et j'ignore lesquelles php utilise.

<{POST_SNAPBACK}>

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.

Posté (modifié)

Pour la profondeur j'ai trouvé ça dans la doc:

http://fr.php.net/manual/fr/function.getimagesize.php :

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é :(

Modifié par Boo2M0rs0
Posté

Je dirais plutôt:

$profondeur = $image_info['bits'] * $image_info['channels'];

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

Dan

Posté

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:

Re-update de code :whistling:

$profondeur = $image_info['bits'] * ( isset($image_info['channels']) ? $image_info['channels'] : 3 );

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...