Redimensionner une image php

bonjour tout le monde

voilà j'essaye d'adapter un système pour réduire la taille des avatar sur mon forum ( externe à mon site )

j'ai essayer ce petit code
header ("Content-type: image/jpg");

// on recupère toute les information de l'avatar
// largeur,hauteur,type,caractere
// $avatar est tirer d'une requete sql

$info_avatar = GetImageSize($avatar);

$largeur_max = 70;
$hauteur_max = 70;

$img = @ImageCreateTrueColor($largeur_max,$hauteur_max)
or die("Erreur lors de la création de l'image");

$source = ImageCreateFromJpeg($avatar);
$largeur_avatar = imagesx($source);
$hauteur_avatar = imagesy($source);

ImageCopyResampled($img,$source,8,8,0,0,$largeur_max-(2*8),$hauteur_max-(2*8),$largeur_avatar,$hauteur_avatar);

$blanc = ImageColorAllocate ($img, 255, 255, 255);

ImageString($img,0,12,$hauteur_max-18,"$avatar-($largeur_avatar x $hauteur_avatar)",$blanc);

ImageJpeg($img);


met là j'ai une erreur etant donner qu'il y'a du code avant le header de ma fonction avec un code ilisible

y'aurais t'il autre possibilité pour réduire c'est avatar a une largeur maximum de 70 pixels

merci d'avance de votre aide
wolf

4 réponses

  1. Autant donner les sources original mehdikoris, c'est repesctueux du travail des autre de plus.

    Voici le code pompé par mehdikoris avec les explication de l'auteur et la librairie image de l'auteur qui fait pleins de truc ^^
    Il faut telecharger le zip ,les fichier php sont dedans.

    http://www.asp-php.net/tutorial/asp-php/php-redim-image-upload.php
    12
    1. Comment t'expliquer, y'a LARGEMENT MIEUX !!!
      Ce message sera pour tous ceux qui veulent faire ça !

      Il faut inserer le fichier ainsi

      <img src="updatephoto.php?photo=<?php echo $rep.$f.'/'.$photo.''; ?>"

      et <?php Header("Content-type: image/jpeg");
      $chemin = $_GET['photo'];
      // vous pouvez travailler en url relative aussi: img.jpg
      $x = 150;
      $y = 105; # hauteur a redimensionner

      $img_new = imagecreatefromjpeg($chemin);
      $size = getimagesize($chemin);
      $img_mini = imagecreatetruecolor ($x, $y);
      imagecopyresampled ($img_mini,$img_new,0,0,0,0,$x,$y,$size[0],$size[1]);
      imagejpeg($img_mini);
      ?>
      4
      1. ps : redimensionner sans deformer l'image
        0
        1. essayer ce script

          <?
          function redimage($img_src,$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);

          // 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;

          // Affiche les dimensions optimales
          echo "WIDTH=".$dst_w." HEIGHT=".$dst_h;
          }
          ?>

          //appel de la fonction

          <IMG SRC="monimage.jpg" <?redimage("monimage.jpg",XX,YY)?>>
          0