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

Bibliothèques et frameworks PHP Discussion :

[GD] Génération de miniature jpg


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Par défaut [GD] Génération de miniature jpg
    Bonjour,

    j'aimerais faire un petit script qui génèrera 2 miniatures à partir d'une image principale déjà présente sur le serveur.

    J'obtiens 2 miniatures noires.
    Les images ont les bonnes proportions, le script n'est donc pas totalement à la rue

    Voici le code :

    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
     
    $id = $_GET['id'];
     
    $img_src_chemin = '../images/catal/'.$id.'.jpg';
    $img_dst_chemin = '../images/catal/'.$id.'_zoom.jpg';
    $img_dst_chemin_2 = '../images/catal/'.$id.'_thumb.jpg';
     
    $img_src_resource = imagecreatefromjpeg( $img_src_chemin );
    $img_src_resource_2 = imagecreatefromjpeg( $img_src_chemin );
     
    $img_src_width = imagesx( $img_src_resource );
    $img_src_height = imagesy( $img_src_resource );
     
    if ($img_src_width < $img_src_height) {
      $x = round((315*$img_src_width)/$img_src_height);
      $x_2 = round((75*$img_src_width)/$img_src_height);
      $img_dst_resource = imagecreatetruecolor( $x, 315 );
      $img_dst_resource_2 = imagecreatetruecolor( $x_2, 75 );
    }
    else {
      $y = round((315*$img_src_height)/$img_src_width);
      $y_2 = round((75*$img_src_height)/$img_src_width);
      $img_dst_resource = imagecreatetruecolor( 315, $y );
      $img_dst_resource_2 = imagecreatetruecolor( 75, $y_2 );
    }
     
    imagejpeg( $img_dst_resource, $img_dst_chemin );
    imagejpeg( $img_dst_resource_2, $img_dst_chemin_2 );
    Merci pour votre éventuelle contribution.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 25
    Par défaut
    Bon et bien j'ai trouvé

    Il manquait juste une fonction, voici le nouveau code :

    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
    $id = $_GET['id'];
     
    $img_src_chemin = '../images/catal/'.$id.'.jpg';
    $img_dst_chemin = '../images/catal/'.$id.'_zoom.jpg';
    $img_dst_chemin_2 = '../images/catal/'.$id.'_thumb.jpg';
     
    $img_src_resource = imagecreatefromjpeg( $img_src_chemin );
    $img_src_resource_2 = imagecreatefromjpeg( $img_src_chemin );
     
    $img_src_width = imagesx( $img_src_resource );
    $img_src_height = imagesy( $img_src_resource );
     
    if ($img_src_width < $img_src_height) {
      $x = round((315*$img_src_width)/$img_src_height);
      $x_2 = round((75*$img_src_width)/$img_src_height);
      $img_dst_resource = imagecreatetruecolor( $x, 315 );
      imagecopyresampled($img_dst_resource,$img_src_resource,0,0,0,0,$x,315,$img_src_width,$img_src_height);
      $img_dst_resource_2 = imagecreatetruecolor( $x_2, 75 );
      imagecopyresampled($img_dst_resource_2,$img_src_resource,0,0,0,0,$x_2,75,$img_src_width,$img_src_height);
    }
    else {
      $y = round((315*$img_src_height)/$img_src_width);
      $y_2 = round((75*$img_src_height)/$img_src_width);
      $img_dst_resource = imagecreatetruecolor( 315, $y );
      imagecopyresampled($img_dst_resource,$img_src_resource,0,0,0,0,315,$y,$img_src_width,$img_src_height);
      $img_dst_resource_2 = imagecreatetruecolor( 75, $y_2 );
      imagecopyresampled($img_dst_resource_2,$img_src_resource,0,0,0,0,75,$y_2,$img_src_width,$img_src_height);
    }
     
    imagejpeg( $img_dst_resource, $img_dst_chemin );
    imagejpeg( $img_dst_resource_2, $img_dst_chemin_2 );

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

Discussions similaires

  1. [AC-2007] Application de génération de miniatures photo
    Par lio33 dans le forum IHM
    Réponses: 1
    Dernier message: 12/09/2012, 16h34
  2. Génération de PDF/JPG avec un client sans GUI
    Par fabrice.Croize dans le forum Images
    Réponses: 1
    Dernier message: 08/11/2009, 21h29
  3. [MediaWiki] Génération des miniatures
    Par scania dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/10/2008, 00h25
  4. [ImageMagick] Génération de miniatures
    Par choulaone dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 13/06/2007, 16h43

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