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] Fiabiliser et améliorer les résultats obtenus avec GD2


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre très actif
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Par défaut [GD] Fiabiliser et améliorer les résultats obtenus avec GD2
    Bonjour à tous,
    J'utilise GD2 afin de permettre le téléchargement de photos jpg sur un site.
    Pour que ces photos soient visibles en vignette j'utilise les instructions de GD2 dont voici le code ci dessous.

    Les images sont souvent de très grosse taille, 7 millions de pixels, par exemple.
    J'ai deux problèmes :
    1/ la qualité de la vignette est vraiment très mauvaise.
    2/ Je ne dispose que de 8MO de mémoire sur le serveur pour travailler sur la photo, et parfois ce n'est pas suffisant.

    Pouvez-vous me dire si d'autres systèmes existent, ou comment améliorer mes images.

    Merci à vous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?
    $compnom="basket";
    $photo = $_POST['photo'];
    $photodir = '../../inclure/';
    $phototype = $_FILES['pdf']['type'];
    $photodest =$photo."_".$compnom.".jpg";
    if ($phototype=="image/pjpeg")
    	{
    	if (move_uploaded_file($_FILES["pdf"]["tmp_name"],$photodir.$photodest))
    		{
    		$img_src= $photodir.$photodest;
    		$img_dest= $photodir."mini_".$photodest;
    		// Lit les dimensions de l'image
        	$size = GetImageSize($img_src);
      		$src_w = $size[0]; $src_h = $size[1];
     		$dst_w=200;
    		$dst_h =$dst_w*($src_w/$src_h);
    		// Teste les dimensions tenant dans la zone
        	$test_h = round(($dst_w / $src_w) * $src_h);
        	$test_w = round(($dst_h / $src_h) * $src_w);
       		// Si Height final non précisé (0)
        	if(!$dst_h) $dst_h = $test_h;
        	// Sinon si Width final non précisé (0)
        	elseif(!$dst_w) $dst_w = $test_w;
        	// Sinon teste quel redimensionnement tient dans la zone
        	elseif($test_h>$dst_h) $dst_w = $test_w;
        	else $dst_h = $test_h;
        	// Crée une image vierge aux bonnes dimensions
        	$dst_im = ImageCreatetruecolor($dst_w,$dst_h);
        	// Copie dedans l'image initiale redimensionnée
        	$src_im = ImageCreateFromJpeg($img_src);
         	ImageCopyResized($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
         	// Sauve la nouvelle image
        	ImageJpeg($dst_im,$img_dest);
    		// Détruis les tampons
        	ImageDestroy($dst_im);  
        	ImageDestroy($src_im);
    	  	header ("location:../message.php?message=Votre photo est téléchargée");
    		break;
    		}
        }
    else
    	{
    	Header("location:../message.php?message=Votre photo n'est pas une image JPG");		
        } 	
    break;
    ?>

  2. #2
    Koo
    Koo est déconnecté
    Membre éclairé Avatar de Koo
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 76
    Par défaut
    Pour la qualité de l'image imagejpeg dispose d'un 3eme paramètre optionel http://fr.php.net/manual/fr/function.imagejpeg.php

    Quand à ta quantité de mémoire je pense pas qu'il existe de solution miracle...

  3. #3
    Membre très actif
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Par défaut merci
    Merci de cette réponse, mais ce n'est pas suffisant, je ne sais pas si d'autre que moi ont les mêmes problèmes, mais j'aimerai bien savoir.
    La qualité de l'image est tres tres mauvaise non?

  4. #4
    Membre très actif
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2006
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 174
    Par défaut Changer d'intruction
    Au cas ou cela serait utile à quelqu'un, j'ai réussi à faire mieux en changeant l'intruction (la ligne)
    ImageCopyResized($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
    par la ligne suivante
    imagecopyresampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);

    Il semble bien que "imagecopyresampled" soit nettement preférable a "ImageCopyResized".

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

Discussions similaires

  1. associer une couleur spécifique selon les résultats obtenus
    Par elmobbo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/08/2017, 09h19
  2. [AJAX] Impossible d'affecter les résultats obtenus depuis une query
    Par Fredy007 dans le forum jQuery
    Réponses: 0
    Dernier message: 31/03/2016, 08h11
  3. Colorer les contours obtenus avec la fonction EDGE
    Par Jerome Briot dans le forum Contribuez
    Réponses: 5
    Dernier message: 19/06/2009, 18h18
  4. Comment améliorer les résultats d'un MLP ?
    Par tamaris85 dans le forum Méthodes prédictives
    Réponses: 9
    Dernier message: 05/06/2009, 17h17
  5. Réponses: 5
    Dernier message: 05/06/2007, 11h27

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