Afficher une image sans respecter sa dimension

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par OTP, 30 Janvier 2007.

  1. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 580
    J'aime reçus:
    3
    'soir !

    Voilà mon problème du jour :

    Je veux afficher une image de 150x150 pixels dans un carré de 100x100.
    Si je le fais, c'est moche : effet d'escalier.

    Il y a t'il un moyen rusé d'éviter cet effet ? Ou je dois redimensionner en 100x100 les 2500 images concernées ?

    Michaël
     
  2. dmathieu
    dmathieu WRInaute accro
    Inscrit:
    9 Janvier 2004
    Messages:
    5 596
    J'aime reçus:
    0
    Tiens, j'ai ça sous la main :

    Code:
    <?php
    function vignette($img, $img_dest, $width=80, $height=0) {
    $size = GetImageSize($img);
    $src_w = $size[0];
    $src_h = $size[1];
    if ($height == 0) { $height = ($src_h / $src_w) * $width; }
    $ext = explode(".", $img);
    $ext = $ext['1'];
    $dst_im = ImageCreateTrueColor($width,$height);
          
          if ($ext == 'jpg' or $ext == 'jpeg' or $ext == 'JPG' or $ext == 'JPEG') {
          $src_im = ImageCreateFromJpeg($img);
          }
          elseif ($ext == 'gif') {
          $src_im = ImageCreateFromGif($img);
          }
          elseif ($ext == 'png') {
          $src_im = ImageCreateFromPng($img);
          }
          ImageCopyResampled($dst_im,$src_im,0,0,0,0,$width,$height,$src_w,$src_h);
    
          if ($ext == 'jpg' or $ext == 'jpeg' or $ext == 'JPG' or $ext == 'JPEG') {
          ImageJpeg($dst_im,$img_dest);
          }
          elseif ($ext == 'gif') {
          ImageGif($dst_im,$img_dest);
          }
          elseif ($ext == 'png') {
          ImagePng($dst_im,$img_dest);
          }
          ImageDestroy($dst_im);
    }
    ?>
    Tu appelle la fonction avec comme arguments :
    $img : le chemin vers ton image d'origine
    $img_dest : le chemin vers la future image redimensionnée (peut être le même que $img)
    $width : la largeur
    $height : la hauteur. Si égal à 0, il conserve les proportions.
     
  3. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    pas moyen de faire autrement, mais de toutes façon c'est pas terrible d'afficher des images plus petites que leur définition. Avec certains Soft (comme PhotoFiltre par exemple), tu peux automatiser des taches de traitement d'images. :wink:
     
  4. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    @kazar : j'estpère que tu ne lui conseille pas d'utiliser cette fonction à chaque affichage ? Tu va lui tuer son serveur... :wink:
    En plus je te conseille vraiment de faire la réduction manuellement car tu peux accentuer le résultat, ce qui donne un rendu beaucoup plus propre qu'avec la fonction ImageCopyResampled de php
     
  5. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 580
    J'aime reçus:
    3
    L'image sera présente en home page. Donc le script serait executé à chaque visiteur. Excessif ?
     
  6. dmathieu
    dmathieu WRInaute accro
    Inscrit:
    9 Janvier 2004
    Messages:
    5 596
    J'aime reçus:
    0
    La fonction enregistre l'image réduite dans un autre fichier. Elle ne l'affiche pas.
    Donc non, tu ne l'éxecute pas à chaque affichage, mais une seule fois, pour réduire toutes tes images en une seule fois.
     
  7. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 580
    J'aime reçus:
    3
    J'ai oublié de dire que c'est pour afficher une image aléatoire en homepage. Le calcul sera donc fait à chaque affichage. Et à terme, j'aurais 2500 icones créées ?
     
  8. dmathieu
    dmathieu WRInaute accro
    Inscrit:
    9 Janvier 2004
    Messages:
    5 596
    J'aime reçus:
    0
    Non. Il est mieux, je pense, que tu execute le script en plusieurs fois, afin qu'il te réduise tes images une bonne fois pour toutes.
    Et tu fait appel uniquement à tes images réduites.
     
  9. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 580
    J'aime reçus:
    3
    Ok.
    Dans ce cas là, je crois que je vais utiliser directement le Powertoys ResizePictures. Merci.
     
  10. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    C'était exactement le sens de ma remarque :wink:
     
  11. OTP
    OTP WRInaute accro
    Inscrit:
    16 Décembre 2005
    Messages:
    14 580
    J'aime reçus:
    3
    Bon, je suis convaincu, je ferai ainsi.
     
Chargement...
Similar Threads - Afficher image respecter Forum Date
Image à la une à ne pas afficher en haut de l'article, comment ? Développement d'un site Web ou d'une appli mobile 1 Septembre 2016
Comment afficher une image ? Développement d'un site Web ou d'une appli mobile 29 Octobre 2013
afficher liste d'images Développement d'un site Web ou d'une appli mobile 20 Août 2013
Forcer à afficher son site dans Google Images ? (2013) Référencement Google 16 Août 2013
Afficher une image en javascript Développement d'un site Web ou d'une appli mobile 2 Mai 2013
Heberger et afficher des images en masse d'un anime Droit du web (juridique, fiscalité...) 23 Décembre 2012
Afficher "Images correspondant à ..." dans le résultat de recherche Google Débuter en référencement 2 Septembre 2012
Comment afficher l'image d'un flux rss besoin d'aide ! Développement d'un site Web ou d'une appli mobile 22 Juin 2012
Afficher les images en fonction de portrait ou paysage Développement d'un site Web ou d'une appli mobile 1 Octobre 2010
Afficher / cacher un div au survol d'une image Développement d'un site Web ou d'une appli mobile 27 Août 2010
Wordpress : afficher des images en vignettes dans un article Développement d'un site Web ou d'une appli mobile 7 Mars 2010
[Résolu] afficher image provenant de flux xml Développement d'un site Web ou d'une appli mobile 20 Février 2010
PHP SQL - Afficher le nbre d'images pour chaque Album Développement d'un site Web ou d'une appli mobile 15 Septembre 2009
Afficher un espace autour d'une image Administration d'un site Web 8 Janvier 2009
afficher une image pendant l'envoi d'une image Développement d'un site Web ou d'une appli mobile 21 Octobre 2008
afficher une image au survol de liens provenant d'une base Développement d'un site Web ou d'une appli mobile 30 Avril 2008
[Resolu] bouton droit "afficher l'image"->bug? Développement d'un site Web ou d'une appli mobile 29 Octobre 2007
afficher une image dont l' url est stockée dans ma bdd sql Développement d'un site Web ou d'une appli mobile 5 Juillet 2007
Afficher une image differente en fonction de la resolution Administration d'un site Web 15 Octobre 2006
PHP-> Afficher une image avec 'print' Développement d'un site Web ou d'une appli mobile 29 Avril 2006