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

Langage PHP Discussion :

problème redimensionnement image


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 25
    Points : 13
    Points
    13
    Par défaut problème redimensionnement image
    Bonjour,

    J'ai un probleme de redimensionnement, la qualité de l'image se dégrade tellement que parfois on ne reconnnait plus l'image d'origine :

    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
     
    function resizeImage($img_src,$img_dst,$dst_w,$dst_h) {
    		// Lit les dimensions de l'image
    		$size = GetImageSize($img_src);  
    		$src_w = $size[0]; $src_h = $size[1];
    		// 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);
    		// teste quel redimensionnement tient dans la zone
    		if($test_h > $dst_h) $dst_w = $test_w;
    		else $dst_h = $test_h;
     
    		if($size[2]==1){
    			// ceci est une image GIF
    			$image1=imagecreatefromgif($img_src);
    			$image2=imagecreate($dst_w,$dst_h);
    			imagecopyresampled($image2,$image1,0,0,0,0,$dst_w,$dst_h,$size[0],$size[1]);
    			imagegif($image2,$img_dst);
    		}elseif($size[2]==2){
    			// ceci est une image JPG
    			$image1=imagecreatefromjpeg($img_src);
    			$image2=imagecreate($dst_w,$dst_h);
    			imagecopyresampled($image2,$image1,0,0,0,0,$dst_w,$dst_h,$size[0],$size[1]);
    			imagejpeg($image2,$img_dst);
    		}
    		elseif($size[2]==3){
    			// ceci est une image PNG
    			$image1=imagecreatefrompng($img_src);
    			$image2=imagecreate($dst_w,$dst_h);
    			imagecopyresampled($image2,$image1,0,0,0,0,$dst_w,$dst_h,$size[0],$size[1]);
    			imagepng($image2,$img_dst);
    		}
    		// Affiche les dimensions optimales
    		echo "WIDTH=" . $dst_w . " HEIGHT=" . $dst_h;
    	}

  2. #2
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    C'est un probleme d'échantillonnage expliqué dans la doc de imagecopyresampled()
    Note: Il y a un problème dû aux limitations de la taille de la palette (255 + 1 couleurs différentes). Filtrer ou rééchantillonner une image demande plus de 255 couleurs, une approximation est alors utilisée pour calculer le nouveau nombre de couleurs. Avec une palette, si une nouvelle couleur ne peut être allouée, la couleur la plus proche (en théorie) est utilisée. Ce n'est pas toujours la couleur la plus proche visuellement. Cela peut générer des problèmes étranges, comme des images blanches. Pour éviter ce problème, passez en image TrueColor, comme celles générée par la fonction imagecreatetruecolor().
    Il faut utilisé imagecreatetruecolor(), je n'en sais pas plus.
    http://fr.php.net/manual/fr/function...etruecolor.php

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 25
    Points : 13
    Points
    13
    Par défaut Merci
    Merci pour ta réponse, effectivement ça marche maintenant

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

Discussions similaires

  1. [FPDF] Problème redimensionnement d'image
    Par nemesis57 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 20/09/2012, 16h42
  2. [GD] problème redimensionnement d'image
    Par berti dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 03/07/2008, 16h56
  3. [javascript] problème insertion image
    Par Pwill dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/05/2005, 16h12
  4. problème dessiner image dans fenêtre
    Par raoulman dans le forum MFC
    Réponses: 5
    Dernier message: 13/12/2004, 15h44
  5. Problème d'image avec DirectX9 et c# VS.net...
    Par lilly_lilly dans le forum DirectX
    Réponses: 1
    Dernier message: 02/03/2004, 14h02

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