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] Perte de qualité avec ImageCreateFromJPEG


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut [GD] Perte de qualité avec ImageCreateFromJPEG
    salut,
    j'ai écrit un petit script qui permet de zoomer sur une partie d'une image selon là où on click.
    Mon image de départ est en jpeg, avec de belles couleurs.
    mais l'image renvoyé par la fonction est très moche !
    voici le script qui renvoit l'image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $x = $_GET['x'];
    $y = $_GET['y'];
    $z = $_GET['z'];
    $bigmap=ImageCreateFromJPEG("flower.jpg");
    $image_out=ImageCreate(400,400);
    $size = $z > 2? 200 * $z: 400;
    $posx=floor($x-50);
    $posy=floor($y-50);
    ImageCopyResized($image_out, $bigmap, 0, 0, $posx, $posy, $size, $size, 200, 200);
    imagejpeg($image_out);
    ImageDestroy($bigmap);
    ImageDestroy($image_out);
    ?>
    qu'est ce qui fait que mon image perd sa qualité ?
    merci d'avance pour vos conseils

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Salut,

    Si la version de GD installée sur ton serveur te le permet, utilise imagecreatetruecolor et imagecopyresampled plutot que imagecreate et imagecopyresized. Cette dernière fonction en particulier permet de réechantilloner l'image au lieu de la redimensionner tout simplement, ce qui donne de bien meilleurs résultats visuellement (mais demande plus de temps de calcul évidement).

  3. #3
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    effectivement le résultat est bien meilleur !
    Je ne vois pas de différence notable au niveau performance.
    c'est donc parfait.
    Merci

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

Discussions similaires

  1. [SDL 2.0] Perte de qualité SDL_TTF avec copie dans SDL_Texture
    Par Golgrinet dans le forum SDL
    Réponses: 6
    Dernier message: 08/03/2018, 11h28
  2. Réponses: 4
    Dernier message: 27/09/2012, 17h22
  3. Réponses: 0
    Dernier message: 20/03/2012, 19h34
  4. [GD] probleme de perte de qualité lors de miniature de photos?
    Par brasco06 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 23/05/2005, 16h03
  5. Installation et perte d'icône avec Firebird
    Par SebCBien dans le forum Applications et environnements graphiques
    Réponses: 22
    Dernier message: 31/10/2004, 16h46

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