Partage
  • Partager sur Facebook
  • Partager sur Twitter

Definir un taille pour une image

    17 janvier 2006 à 18:23:51

    Je pence avoir un tit prob avec une image .
    Je vous esplique je fait un site, et les membres peuvent administrer leur compte et meme envoyer un avatard, mais leprob c'est que tout les avatard n'on pas la meme taille j'ai donc mi un width=100 et un height = 100 mais le prob c'est que l'ami qui programme le site a mi un avatard plus petit que ce que j'ai mis donc j'ai voulu mettre un width-max et un height-max mais mon image n'est pas à la bonne dimension. Comment faire et es que j'ai fait qqch de faux ?
    • Partager sur Facebook
    • Partager sur Twitter
      17 janvier 2006 à 18:58:22

      le plus simple serait que tu utilises le PHP (avec la gallerie GD). Il te suffit de prendre la taille de l'image si elle est plus grande que 100 alors tu fais un rapport de prortionnalité pour avoir une image pas déformée.
      Après tu enrengistres l'image (et tu rajoutes l'adresse de l'image du ta base de donnée) et plus qu'à l'afficher
      • Partager sur Facebook
      • Partager sur Twitter
        17 janvier 2006 à 19:00:44

        Bon ben je croi que l'ami avec qui je fait le site va avoir du travail :)
        • Partager sur Facebook
        • Partager sur Twitter
          17 janvier 2006 à 19:05:12

          Ta méthode est en effet pratique, mais seulement lorsque l'avatar est plus grand ;)
          Sinon lorsqu'un membre uploade un avatar ,
          tu mets ce code :

          <?php
          $img = imagecreatefromjpeg($image_uploadee); // Tu créer l'image uploadée dans la variable $img
          // ps: change la fonction "imagecreatefromjpeg" par rapport à l'extension

          $imgX = imagesx($img);
          $imgY = imagesy($img);

          $XmaxSizeRequired = 100; // 100 pixels max de longueur !
          $YmaxSizeRequired = 100; // 100 pixels max de largeur !

          $Xtest = $imgX - $XmaxSizeRequired;
          $Ytest = $imgY - $YmaxSizeRequired;

          if(($Xtest <= 0)&& ($Ytest <= 0)) // Si l'image est plus petite que 100x100, on ne change rien
          {
                  $destination = imagecreatetruecolor($imgX,$imgY);
          }
          else // Sinon on la redimentionne ...
          {
                  if($imgX < $imgY)
                  {       $Ynew = $YmaxSizeRequired;
                          $Xnew = ($XmaxSizeRequired * ($imgX / $imgY));
                          $destination = imagecreatetruecolor($Xnew,$Ynew);
                  }
                  elseif($imgX > $imgY)
                  {       $Xnew = $XmaxSizeRequired;
                          $Ynew = ($YmaxSizeRequired * ($imgY / $imgX));
                          $destination = imagecreatetruecolor($Xnew,$Ynew);
                  }
                  elseif($imgX == $imgY)
                  {       $Ynew = $YmaxSizeRequired;
                          $Xnew = $XmaxSizeRequired;
                          $destination = imagecreatetruecolor($Xnew,$Ynew);
                  }
          }

          $Xdest = imagesx($destination);
          $Ydest = imagesy($destination);

          // On crée la miniature
          imagecopyresampled($destination, $img, 0, 0, 0, 0, $Xdest, $Ydest, $imgX, $imgY);

          imagejpeg($destination, 'tiny_avatar.jpg');
          ?>
          • Partager sur Facebook
          • Partager sur Twitter
            17 janvier 2006 à 19:06:10

            ça c'est sûr :)
            J'ai fait quelque chose comme ça d'assez stable, j'ai pris pas mal de temps... :-°
            • Partager sur Facebook
            • Partager sur Twitter
              17 janvier 2006 à 20:00:33

              Ok merci pour vos reponses
              • Partager sur Facebook
              • Partager sur Twitter

              Definir un taille pour une image

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown