Forum TourDeJeu · Règles du forum | Aide Recherche Membres |
Bienvenue invité ( Connexion | Inscription ) | Recevoir à nouveau l'email de validation |
zumba |
Ecrit le : Mercredi 28 Février 2007 à 18h16
|
Ouf Groupe : Membre Messages : 496 |
Hello,
j'essaye de faire un truc en PHP GD mais je suis pas sur que ce soit faisable. Est ce que GD gère sur les PNG la transparence progressive (alpha layer je crois qu'on apelle ça), en gros une transparence non pas "telle couleur est 100% transparente et les autres le sont pas" (à la gif) mais pour chaque pixel tel degré de transparence ? Si oui, 1) comment on génère un tel png (en gros je voudrais un dégradé circulaire rouge 100% opaque au centre et 100% transparent sur les bords). je me sers de paint shop pro qui visiblement ne gère que la transparence tout ou rien. 2) comment je fais en php/gd pour copier coller mon image à transparence dégradée sur une autre, avec elle même un degré général de transparence ? Merci à la communauté, zba -------------------- Z
|
Flamme |
Ecrit le : Mercredi 28 Février 2007 à 19h20
|
Alien Groupe : Moderateurs Messages : 1431 |
Je ne connais pas PHP/GD, mais les PNG, beaucoup mieux.
L'alpha layer ou "couche alpha" est un canal suplémentaire qui permet de coder le degré de transparence de la couleur. L'effet de tranparence progressive quui utilise la canal alpha est l'alpha blending. En principe, Paint Shop Pro dans ses dernières versions gère bien le PNG avec transparence progressive, mais ce programme est tellement "usine à gaz" qu'on s'y perd... Pour générer, donc, un tel PNG : Si tu n'as pas une version légale de Photoshop ou Photoshop Elements, Gimp le fait aussi très simplement et très bien. Pour créer une telle image, tu crées une image à fonds transparent, tu fais une sélection circulaire puis tu utilises un outil de dégradé radial avec un dégradé qui va du rouge vers le transparent, en partant bien du milieu de la sélection et en étirant jusqu'au bord. Tu n'as plus qu'à enregistrer en format PNG. -------------------- |
Harparine |
Ecrit le : Mercredi 28 Février 2007 à 20h52
|
Kid Groupe : Membre Messages : 45 |
Pour le PNG, j'allais te répondre la même chose que Flamme : Gimp ou Photoshop sont très bien pour créer des PNG.
Par contre, je m'étais déjà posé la question à propos de GD, sans avoir le temps d'approfondir. Je viens donc de me livrer à une série de tests et il semblerait que les couches alpha ne soient pas encore correctement gérées car tout mon png passe à 100% d'opacité lorsqu'il est collé sur une image de fond de façon dynamique. Comme tu peux paramétrer l'opacité GENERALE de l'image incrustée, il est toujours possible de simuler un dégradé en superposant des cercles rouges d'opacité et de tailles différentes. Je viens de tester et ça donne quelque chose comme ça : test de dégradé en GD (c'est toujours mieux que rien). Par contre, c'est assez lourd pour le serveur si tu affines ton dégradé au max comme je l'ai fait : il crée 100 cercles rouges dans une boucle. Donc, si tu es obligé de générer ça régulièrement, il vaut mieux utiliser un autre système que GD. Par exemple, des div superposées contenant tes PNGs (ce qui te permettrait en plus d'avoir un vrai dégradé). Si tu veux le code de la génération dynamique de dégradés, je le poste (il est très simple, car basé sur un cours du site du zéro). Juste pour info, comment veux-tu utiliser ton dégradé ? Peut-être il y a-t'il une meilleure solution que GD ? |
zumba |
Ecrit le : Mercredi 28 Février 2007 à 21h15
|
Ouf Groupe : Membre Messages : 496 |
Holé !
merci, finalement je me suis débrouillé autreent : je trace des cercles concentriques sucessifs de transparence progresive (imageEllipse) allez hop un aperçu du résultat. Bonne soirée ! -------------------- Z
|
Harparine |
Ecrit le : Mercredi 28 Février 2007 à 21h17
|
Kid Groupe : Membre Messages : 45 |
J'avais adopté la même technique. Bonne chance pour la suite !
|