Manipuler des images avec PHP

  • Auteur de la discussion Auteur de la discussion theJB
  • Date de début Date de début
WRInaute occasionnel
Salut,
je cherche à faire un script php qui prenne des images (gif, jpg, png, ..) qq part, les enregistre en jpg dans un repertoire qqconque en compressant si besoin, de manière à ne pas dépasser une certaine taille maxi par photo.

J'utilise imagejpeg($im,"filename.jpg",ratio de compression) mais j'ai un truc bizard car qd je prend une jpg et que je l'enregistre sans la compresser, le nouveau fichier est plus gros que le fichier d'origine (genre l'original fait 100ko et la photo créée en fait 800).
Idem une photo gif de 8ko devient une jpg de 20ko.

Comment ça se fait? C'est quoi la feinte pour ne plus avoir ce pb?
 
WRInaute passionné
jpg est une compression destructive donc quand tu réouvres une image 800*600 comprimé au maximum avec jpg, tu as une image 800*600 de qualité médiocre. Si tu enregistres cette image en mettant la compression au minimum, tu vas enregistrer cette image sans la dégrader plus (c'est à dire sans degrader l'image déja dégradée). Tu enregistres donc pas mal d'information, même si ces informations ne sont pas utiles
 
WRInaute occasionnel
Tu peux utiliser un indice de qualité lors de la création de ton image, cela influe directement sur le poids de l'image, mais aussi sur la qualité (forcement, c'est fait pour ca...)

imagejpeg( resource image [, string filename [, int quality]] )

filename tu remplaces par ''
Et quality tu mets un nombre entre 0 (leger et mauvaise qualité) et 100 (plus lourd que l'original pour la meme qualité) apres il suffit de tester plusieurs valeurs. Essaye de taper dans les 85-90...
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut