[PHP] Création d'images (complexes) à la volée

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


absoluteweb
WRInaute impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

[PHP] Création d'images (complexes) à la volée

Message le Dim Mar 23, 2003 15:12

Toujours dans le cadre de ma migration de l'ASP au PHP, je cherche pour mon site de cartes postales virtuelles réalistes Le Timbré.com, une bibliothèque (si c'est bien le terme en php) me permettant de faire ce que je réalise actuellement en asp avec un composant.
Image
Cette image est créée en live sur le serveur.

La bibliothèque recherchée doit permettre :

1 - De charger une image de fond.
2 - De charger d'autres images par dessus avec une couleur de transparance (le timbre est ajouté sur la carte, le tampon est ajouté par dessus le timbre et la carte).
3 - D'ajouter du texte avec une police de son choix (présente sur le serveur). De pouvoir donner un angle au texte (signature). De gérer si possible l'alignement du texte (droite, centré, gauche). Accessoirement de gérer les retours à la ligne (c'est actuellement fait "à la main" car mon composant ne le gère pas).
4 - D'enregistrer le tout au format gif.

Je ne connais pas la bibliothèque GD mais mes besoins semblent dépasser ses fonctionnalités, non ?

Quelqu'un connait-il une bibliothèque capable d'obtenir un résultat identique à l'image présentée ci-dessus ?

Jocelyn
WRInaute passionné
WRInaute passionné
 
Messages: 564
Inscription: Mer Nov 06, 2002 9:14

Message le Dim Mar 23, 2003 15:16

Bonjour,
il me semble que tout ce que tu décris dans ton message peut être réalisé en PHP avec GD. La version de GD2 permet des manipulations vraiment poussées des graphiques.
Le plus dur reste à maîtriser les fonctions GD. Mais en faisant des tests en programmant pas à pas, ça marchera certainement.

Un problème : le format GIF n'est plus supporté par les dernières versions de GD, car c'est un format propriétaire. Pourquoi ne pas utiliser le format PNG, qui convient aussi bien ?

Jocelyn


absoluteweb
WRInaute impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

Message le Dim Mar 23, 2003 15:28

Merci pour la célérité de ta réponse...
Mon composant ASP ne gère pas non plus le GIF "copyrighté", je ne peux donc pas par exemple charger une image au format Gif, par contre il permet de sauvegarder dans un format Gif moins optimisé (encodage RLE) que le Gif déposé. Je ne sais pas si le PGN 8 bits donne un fichier de même poids que ce GIF RLE.
Je vais essayer de trouver de la doc sur la GD2 pour voir si tous mes besoins sont accessibles depuis cette bibliothèque. C'est vrai que les exemples que j'ai vu sur la GD (version 1 peut être) se limite au tracé d'un histogramme avec un texte en légende. Je n'ai pas pour le moment vu d'utilisations plus complexes.

Jocelyn
WRInaute passionné
WRInaute passionné
 
Messages: 564
Inscription: Mer Nov 06, 2002 9:14

Message le Dim Mar 23, 2003 15:43

Compléments :
http://php.net/image
Il y a la liste complète des fonctions PHP pour utiliser GD2. Parmi elles, des fonctions pour écrire du texte à une position donnée sur une image, pour superposer plusieurs images, régler la transparence, calculer la longueur en pixels d'un caractère, charger et utiliser différentes polices...
Il faut absolument la version 2 de la bibliothèque GD. La version 1.x est beaucoup moins bien (sauf si on attache de l'importance au fait qu'elle permet de générer des images au format GIF)

Je ne connais aucune bibliothèque pour t'aider.

Jocelyn


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 15914
Inscription: Ven Avr 19, 2002 19:51

Message le Dim Mar 23, 2003 17:25

tout ce que tu as jamais osé rêver de faire avec une bibliothèque d'images est offert par JpGraph : http://www.aditus.nu/jpgraph/


absoluteweb
WRInaute impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

Message le Dim Mar 23, 2003 18:26

WebRankInfo a écrit:tout ce que tu as jamais osé rêver de faire avec une bibliothèque d'images est offert par JpGraph : http://www.aditus.nu/jpgraph/
Je n'ai pas trouvé dans la doc de possibilité d'insérer une image (pas un graph) sur un background... JpGraph est vraiment orienté... graphs.

Mitirapa
WRInaute accro
WRInaute accro
 
Messages: 1649
Inscription: Mer Juil 10, 2002 17:36

Message le Dim Mar 23, 2003 19:08

Sinon regarde si le serveur où est le site dispose d'imagemagick...
( http://www.imagemagick.org/ )
c'est un peu à la GD sauf que la qualité a la réputation d'être meilleur

les principales fonctions sont sur http://www.imagemagick.org/images/examples.jpg
mais il y en a bien d'autres non affichées.


absoluteweb
WRInaute impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

Message le Dim Mar 23, 2003 19:16

Salut,

Ouais, j'ai téléchargé la doc pdf (360 pages!)... C'est assez indigeste.
Qu'entends tu part "réputation d'être meilleur" ? Au niveau de la qualité des images ? Des fonctionnalités ?

C'est vrai que si j'arrive à refaire la carte présentée ci-dessus avec GD2 cela me conviendra, surtout qu'il est maintenant inclut dans PHP. Moins on sort des sentiers battus, mieux on se porte. C'est aussi l'un des problèmes de l'ASP, il faut un composant pour chacune des tâches, envoyer des mails, faire une requête http distante, créer des images à la volée, uploader des fichiers, etc...


cariboo
WRInaute passionné
WRInaute passionné
 
Messages: 769
Inscription: Sam Fév 08, 2003 11:09

Message le Dim Mar 23, 2003 19:17

Si, tu peux mettre une image en background ...

Mais tu as raison, cette librairie n'est vraiment utile que si tu veux faire des graphes avec.

Sinon, je te confirme que tu peux faire tout ce que tu recherches avec la librairie GD. Mais attention aux versions : dans certaines, le GIF n'est pas du tout supporté.

Un article (désolé, in english in the text) pour guider tes premiers pas :
http://www.devshed.com/Server_Side/PHP/ ... page1.html

Mitirapa
WRInaute accro
WRInaute accro
 
Messages: 1649
Inscription: Mer Juil 10, 2002 17:36

Message le Dim Mar 23, 2003 19:37

absoluteweb a écrit:Ouais, j'ai téléchargé la doc pdf (360 pages!)... C'est assez indigeste.
Qu'entends tu part "réputation d'être meilleur" ? Au niveau de la qualité des images ? Des fonctionnalités ?


Ben en fait c'est surtout au niveau de la qualité.. j'ai utilisé plusieurs galeries photos par exemple avec la creation de vignettes, et c'est sur que c'est mieux d'utiliser imagemagick que gd par la qualité. En rapidité je n'ai pas fait de tests.

Les fonctions sont faciles en fait.. c'est pas trop compliqué non plus meme si la doc peut etre confuse.

Mais bon ca c'est encore un truc où on doit perdre du tps à regarder celui qui nous convient le mieux.

l'avantage de gd est surtout que tu devrais trouver plus d'aide dessus.


absoluteweb
WRInaute impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

Message le Dim Mar 23, 2003 19:38

cariboo a écrit:Si, tu peux mettre une image en background
Ce que je disais c'est que je n'ai pas trouvé de solution pour charger une image sur le background.

Je pense que je vais m'en tirer avec GD2. Pour le Gif ce n'est pas important tant que les fichiers PNG n'ont pas un poids supérieur à ceux que je génère actuellement en Gif (RLE pas LZW).

Jocelyn
WRInaute passionné
WRInaute passionné
 
Messages: 564
Inscription: Mer Nov 06, 2002 9:14

Message le Dim Mar 23, 2003 20:12

Mitirapa a écrit:Ben en fait c'est surtout au niveau de la qualité.. j'ai utilisé plusieurs galeries photos par exemple avec la creation de vignettes, et c'est sur que c'est mieux d'utiliser imagemagick que gd par la qualité. En rapidité je n'ai pas fait de tests.


Les fonctions PHP pour GD2 (comme imagecreatetruecolor) donnent des résultats bien meilleurs que les fonctions pour GD1. Pour les photos en particulier, les fonctions GD1 vont "massacrer" les couleurs, et la photo modifiée sera vraiment laide. Avec GD2, j'obtiens de très bons résultats.
Je n'ai jamais utilisé Imagemagick, alors je ne peux pas dire si la qualité est encore meilleure qu'avec PHP.

Jocelyn


Richard
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 161
Inscription: Dim Fév 09, 2003 20:30

Re: [PHP] Création d'images (complexes) à la volée

Message le Lun Mar 24, 2003 2:11

absoluteweb a écrit:que je réalise actuellement en asp avec un composant.


Salut,

peux-tu m'indiquer ce que tu utilises actuellement comme composant ??

Merci

deed
Nouveau WRInaute
 
Messages: 6
Inscription: Sam Mar 08, 2003 7:26

Message le Sam Mar 29, 2003 9:17

perso, j'ai vite renoncé à utiliser GD.

Dans mon cas, Imagemagick offre une meilleure qualité (bon, c'est subjectif...), plus d'options d'inscrustation, et surtout une charge serveur beaucoup plus petite; il a été plus facile à installer. Et en plus l'utilisation des librairies est on ne peu plus simple.

je conseille donc plutôt Imagemagick


absoluteweb
WRInaute impliqué
WRInaute impliqué
 
Messages: 474
Inscription: Ven Nov 22, 2002 16:02

Message le Sam Mar 29, 2003 14:23

Image
deed a écrit:Dans mon cas, Imagemagick offre une meilleure qualité (bon, c'est subjectif...), plus d'options d'inscrustation, et surtout une charge serveur beaucoup plus petite; il a été plus facile à installer. Et en plus l'utilisation des librairies est on ne peu plus simple.

Meilleure qualité par rapport à GD ou GD2 ?
Les options de GD2 me suffisent
La charge serveur a t-elle été allégée entre GD et GD2 ?
GD2 est déjà installé avec PHP, on peut pas faire plus simple :)

[PHP] Création d'images (complexes) à la volée

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités