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 :

création de vignette


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut création de vignette
    Bonjour ,

    J'utilise ce script pour créer une miniature d'une photo qui se trouve dans ../Templates/images/avers/
    Je n'ai pas d'erreur à l'affichage , mais aucune vignette n'est générée dans : ../Templates/images/mini/ => ???

    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
    <?php
    function vignette($img, $img_dest, $width=80, $height=0) {
    $img="../Templates/images/avers/9e96f66e33bf216.jpg";
    $img_dest="../Templates/images/mini/9e96f66e33bf216.jpg";
    $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);
          }
          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);
          }
          ImageDestroy($dst_im);
    }
    ?>

  2. #2
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    J'ai modifié le script , mais idem ...
    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
    <?php
    function vignette($img, $img_dest, $width=80, $height=0) {
    $width=80;
    $height=0;
    $img="../Templates/images/avers/9e96f66e33bf216.jpg";
    $img_dest="../Templates/images/mini/9e96f66e33bf216.jpg";
    $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);
          }
          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);
          }
          imagedestroy($dst_im);
    }
    ?>

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Bonsoir,

    c'est peut-être un problème de droit sur ton dossier, ou ton fichier de destination?

  4. #4
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    j'ai réussi !
    Je vous livre donc le script qui permet de créer des vignettes d'une photo jpg après avoir vérifié que l'upload s'est bien passé...A vous d'adapter pour les autres extensions . En ce qui me concerne , je suis déjà trés content du résultat et de la performance de imagecreatetruecolor .

    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
    if (isset($_POST['ok'])) {
    function miniature($chemin_original, $chemin_mini, $fichier_image, $largeur_mini)
      {
      $chemin_original="../Templates/images/avers/";
      $chemin_mini="../Templates/images/mini/";
      $image_origine = imagecreatefromjpeg("$chemin_original/$fichier_image");
      $largeur_origine = imagesx($image_origine);
      $hauteur_origine = imagesy($image_origine);
      $hauteur_mini = $hauteur_origine * $largeur_mini /   $largeur_origine;
      $image_finale = imagecreatetruecolor($largeur_mini, $hauteur_mini);
      imagecopyresampled($image_finale, $image_origine, 0, 0, 0, 0,   $largeur_mini, $hauteur_mini, imagesx($image_origine), imagesy($image_origine) );
     
      imagejpeg($image_finale, "$chemin_mini/$fichier_image");
      imagedestroy($image_finale);
      return true;
      } 
     
    miniature("img", "img/mini", $S.".jpg", "100");
    }

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

Discussions similaires

  1. [MySQL] Création de vignette avec incrémentation
    Par allellla dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 05/03/2009, 22h13
  2. Réponses: 6
    Dernier message: 17/06/2007, 07h26
  3. [WD10]Création de vignettes ?
    Par Louis Griffont dans le forum WinDev
    Réponses: 6
    Dernier message: 15/02/2007, 10h29
  4. [ImageMagick] Création de vignette d'image à la volée
    Par falatop dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 31/10/2006, 15h13
  5. [ImageMagick] Création de vignettes (images réduites)
    Par tom06440 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 22/10/2005, 15h00

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