IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[GD] Qualité diminuée d'une image sans resize


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    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é
    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.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2007
    Messages : 144
    Points : 127
    Points
    127
    Par défaut
    Pourquoi ne veux-tu pas re-échantillonner en utilisant imagecopyresampled() ?

    Niveau qualité, je crois que c'est ce qui se fait de mieux ?

  4. #4
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut
    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

  5. #5
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    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.

  6. #6
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Dézoomer sur une image sans altérer sa qualité
    Par Basile le disciple dans le forum Débuter
    Réponses: 2
    Dernier message: 29/04/2013, 19h23
  2. diminuer le "poids" d'une image sans réduire sa taille
    Par laurentSc dans le forum Imagerie
    Réponses: 6
    Dernier message: 04/04/2009, 23h55
  3. Réponses: 1
    Dernier message: 05/11/2008, 10h23
  4. [Imagick] Diminuer une image sans "créer d'image" :x
    Par lennelei dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 06/06/2007, 16h37
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo