La meilleur librairie d'image

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Je suis en recherche de la "meilleur" librairie d'image en PHP. J'ai en effet un futur projet de site où j'aurai besoin de créer une image pour chaque Item. Le faire avec un logiciel me prendrait à chaque fois trop de temps, sachant que seul le texte et le fond dans l'image devra changer.

Mes besoins :

  • Ajout d'un fond (image ou couleur)
  • Ajout d'un calque noir avec une opacité x% par dessus (pour que le texte par dessus soit visible)
  • Incrustations de 2 textes avec un ombrage :
    • Un qui sera le même sur chaque image
    • Un bloc texte qui devra être centré (text-align:center; pour être sur qu'on se comprend :-° ).
  • Watermark

J'ai chercher, mais Google fait son chiant. Il me sort soit Imagine soit des librairies qui ne font que des thumb/crop.

TL;DR : Donc j'aurai aimé savoir si il y a d'autres choix qu'Imagine qui me crée déjà des misères alors que je ne fais que copier la doc.

Merci

En PHP tu as GD qui est présente de base et devrait te permettre de faire ce que tu souhaites.

Sinon il y a ImageMagick qui est plutôt répandue mais nécessite souvent une installation spécifique.

Les manipulations dont tu parles restent relativement basiques, ça ne sert à rien de cherche un outil exotique, surtout si c'est pour générer quelques images occasionnellement (en gros, pas 200 par minute).

Bah justement ce n'est pas occasionnel. Si le projet passe on pourra très vite arriver au millier d'images. Et si le logo change (je suis parano) bah elles devront toutes être recrées.

Comme je déteste créer des images en PHP sait on jamais qu'une librairie sympa traîne quelque part.

Moi, j'utiliserais un la GD pour ce que tu demandes. Et si le logo changeais, j'utiliserais un cron…

sachant que seul le texte et le fond dans l'image devra changer.

hotgeart

Le process serait probablement accéléré si tu avais le reste sur une seule et même image, qui te servirait de base…

Après la manipulation d'image étant lourde, le mieux serais un exécutable binaire (en C par exemple), mais ça resterais assez lent

Sinon, ce que tu demandes (hormis le watermark), tu peux pas le faire en HTML/CSS (c'est plus rapide ^^) ?

Moi, j'utiliserais un la GD pour ce que tu demandes. Et si le logo changeais, j'utiliserais un cron…

Ajabep

Exactement. GD est optimisé pour être utilisé avec PHP. Dans tous les cas tu ne généreras qu'une image à la fois, non ? Pas des centaines d'un coup ?

Et si tu en viens à créer des lots d'images, il faudra de toute façon passer par un script externe pour faire ça de façon asynchrone et ne pas bloquer tes utilisateurs.

Sinon, ce que tu demandes (hormis le watermark), tu peux pas le faire en HTML/CSS (c'est plus rapide ^^) ?

Ajabep

Ça par contre c'est plutôt dangereux : demander à des utilisateurs de faire le même traitement côté client des milliers (voire millions de fois) parce que tu as voulu éviter de le faire une fois côté serveur…

Est ce que le PHP est une contrainte forte ? Si tu accepte de lancer des commandes externes, tu aura bien plus de possibilités. Je pense notamment à Python qui a beaucoup de lib adaptés et très puissantes, ou au pire du pire, carrément du C++ si tu veux être le plus rapide possible (mais tu gagnera pas grand chose vis a vis d'un Pillow, numpy ou OpenCv appelé depuis python).

Oui le coté PHP est important dans le sens ou c'est le langage que je maîtrise le mieux. Python, ruby, etc. je ne connais que les bases et pour une question d'hébergement PHP reste le plus répandu.

Pour Imagemagick je pense aussi que c'est une bonne solution en tout cas les exemples sont bluffants.

Je demandais juste s'il n'y avait pas une librairie sympa avec des effets prédéfinis, mais apparemment rien. Tant pis je ferrai à la main et je vais me renseigner sur les "backticks" car je vois pas ce que c'est.

Merci

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte