Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
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 16/04/2008, 17h31   #1
Membre actif
 
Avatar de __fabrice
 
Fabrice
Inscription : août 2004
Messages : 310
Détails du profil
Informations personnelles :
Nom : Fabrice
Âge : 40

Informations forums :
Inscription : août 2004
Messages : 310
Points : 180
Points : 180
Envoyer un message via ICQ à __fabrice Envoyer un message via MSN à __fabrice
Par défaut [GD] Qualité diminuée d'une image sans resize

Bonjour,

Je suis en train de faire des upload de fichier, mais j'ai un perte de qualité et de poids assez importante.
Je fais ceci :
Code :
1
2
3
4
5
6
7
$imgSource = imagecreatefromjpeg($_FILES['fichier']['tmp_name']);
 
$emptyImage = imagecreatetruecolor(1132, 1696);
 
imagecopy($emptyImage,$imgSource, 0, 0, 0, 0, 1132, 1696);
 
imagejpeg($emptyImage ,'E:\wamp\www\tests\test_image.jpg');
Donc, je ne devrai pas avoir de perte. Or le poids de la photo source est de 2.15 megas et la destination 219 Ko.
Il est evident que j'ai une grosse perte de qualité malgré que je ne redimensionne pas ni ne re-échantillonne pas non plus

Comment faire ?

Merci
Fabrice
__fabrice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 17h39   #2
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
La transformation d'une image impliquera forcément une perte de qualité.

De plus la fonction imagejpeg() a un troisième paramètre optionel correspondant à la qualité
Citation:
quality

quality est optionnel, et prend des valeurs entières de 0 (pire qualité, petit fichier) et 100 (meilleure qualité, gros fichier). Par défaut, la valeur est celle de la qualité IJG (75).
Plutôt que d'utiliser imagecopy, tu pourrais faire des test avec imagecopyresized()
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2008, 17h57   #3
Membre régulier
 
Inscription : mai 2007
Messages : 144
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 144
Points : 78
Points : 78
Pourquoi ne veux-tu pas re-échantillonner en utilisant imagecopyresampled() ?

Niveau qualité, je crois que c'est ce qui se fait de mieux ?
Evocatii est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2008, 08h48   #4
Membre actif
 
Avatar de __fabrice
 
Fabrice
Inscription : août 2004
Messages : 310
Détails du profil
Informations personnelles :
Nom : Fabrice
Âge : 40

Informations forums :
Inscription : août 2004
Messages : 310
Points : 180
Points : 180
Envoyer un message via ICQ à __fabrice Envoyer un message via MSN à __fabrice
salut,

oui, c'est ce que je fesais, mais la perte de qualité est là (nous faisons, entres autres, de la photo).

Du coup, je ne sais plus quoi utiliser (à part uploader sans passer par les fonctions image*)


Ha non, je viens de tester avec le parametre 'quality' de imagejpeg et çà à l'air de me convenir

Merci à tous.
Fabrice
__fabrice est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2008, 19h37   #5
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Salut,

Je reviens juste sur le sujet car tu évoques un travail plutôt orienté photo. As tu songé à te rapprocher d'imagemagick et de son interface php magickwand

Bien sur pour utiliser ces éléments, il faut qu'ils soient installés sur le serveur.
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2008, 01h02   #6
Membre actif
 
Avatar de __fabrice
 
Fabrice
Inscription : août 2004
Messages : 310
Détails du profil
Informations personnelles :
Nom : Fabrice
Âge : 40

Informations forums :
Inscription : août 2004
Messages : 310
Points : 180
Points : 180
Envoyer un message via ICQ à __fabrice Envoyer un message via MSN à __fabrice
Salut,

Merci à tous pour vos réponses. En testant plusieurs possibilités, celle que j'ai retenu est la suivante :

Mettre la qualité au maximum dans la fonction imagejpeg. Cela me donne des resultats satisfaisant dans l'ensemble.

@+
Fabrice
__fabrice est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h42.


 
 
 
 
Partenaires

Hébergement Web