Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/07/2007, 10h58   #1
lor
Invité régulier
 
Inscription : juillet 2003
Messages : 13
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 13
Points : 6
Points : 6
Par défaut [IMAGE] Transparence de l'antialiasing d'un PNG

Bonjour,

J'ai fait un petit script utilisant les fonctions un peu basiques du php permettant d'importer un jpeg et de le réenregistrer en png.
Sachant que dans la conversion le blanc doit devenir transparent.
Jusque là... ce n'est pas compliqué !

Sauf que j'aimerais qu'il n'y ait pas que la couleur ff ff ff de transparente, même toutes les couleurs que l'internaute voit comme du blanc.

J'imagine qu'il faut parcourir l'image pixel par pixel. Et pour chaque pixel si celui-ci est blanc ou presque changer la valeur de sa couche alpha.
Problème, je ne sais pas comment déterminer si le pixel est presque blanc.
Prendre chaque composante alpha et dire que si les 3 sont au dessus d'une certaine valeur alors c'est du blanc ?

Est-ce que l'un d'entre vous aurez déjà résolu un problème de ce genre ?

Merci !
lor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 18h39   #2
Membre régulier
 
Inscription : juin 2007
Messages : 89
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : juin 2007
Messages : 89
Points : 95
Points : 95
Bonjour,

pour te simplifier la vie tu peux toujours utiliser un outil externe que tu appel en ligne de commande. Par exemple ImageMagick.
Un example de commande pris ici :
Code :
convert image.png -matte -fill none -fuzz 1% -opaque white  result.png
Ca devrait aussi marcher pour un fichier jpeg, mais je n'ai pas testé.
dewsz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 18h57   #3
Membre régulier
 
Avatar de The Nux
 
Inscription : février 2006
Messages : 79
Détails du profil
Informations personnelles :
Âge : 22

Informations forums :
Inscription : février 2006
Messages : 79
Points : 84
Points : 84
Envoyer un message via MSN à The Nux
La résolution de ton problème dépend pas mal du genre d'images que tu comptes convertir, par ce que en règle générale tu peux pas savoir si un endroit clair de l'image est clair par ce que il est sensé être transparant ou si il est clair par ce que l'objet est clair. Si on prend une photo sur fond blanc par exemple, comment tu différencies le fond blanc d'un reflet ?

Après il y a plusieurs méthodes pour résoudre le problème et je suis pas vraiment un expert, mais on peut imaginer de faire un traitement pixel par pixel et d'attribuer une couche alpha en fonction de la luminosité du pixel (une des solutions les plus simples) ou alors mettre en place un réseau de neurones pour reconnaitre le fond des reflets et/ou des endroits clairs, mais ça c'est déjà un peu plus dur (si tu as besoin de t'occuper cet été tu peux toujours faire ça ).
The Nux est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h19.


 
 
 
 
Partenaires

Hébergement Web