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 miniatures


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut création de miniatures
    salut ! voila jai un script qui liste un repertoire de photos où chacune d'entre elles a une taille de 1.5mb... pour le moment je reduit la taille de limage grace au propriété height et weight de html mais sa ne reduis pas la taille (en mb) de limage.. jaimerai savoir si cest possible de créer des miniature simplement avec un prefix du style mini_nomdelaphoto.exetension .. merci de votre aide...

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cyrill
    salut ! voila jai un script qui liste un repertoire de photos où chacune d'entre elles a une taille de 1.5mb... pour le moment je reduit la taille de limage grace au propriété height et weight de html mais sa ne reduis pas la taille (en mb) de limage.. jaimerai savoir si cest possible de créer des miniature simplement avec un prefix du style mini_nomdelaphoto.exetension .. merci de votre aide...
    Salut,

    Effectivement, lorsque tu réduis la taille des images avec des attributs HTML, ça ne va en rien modifier le poids de ces dernières.

    A la rigueur, si ces images sont au format BMP, il serait utile de les convertir au format *.PNG, ou *.JPG dans le cas ou les images sont de qualité.

    Il n'existe pas de préfix qui te permette d'automatiser la création de miniatures (Si c'était ça ta question).

    Regarde du coté de l'extension PHP GD2, qui permet de générer des images et des miniatures d'images existantes (il existe pas mal de scripts PHP qui font ceci très bien).

    Salutations !

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2003
    Messages
    245
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 245
    Points : 106
    Points
    106
    Par défaut
    Tu peux faire une page qui va créer tes minatures à la volée et te les retourne avec une adresse du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="miniature.php?img=monImage.jpg" alt="monImage" />
    Et voici le code possible de la page miniature.php :
    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
    <?php
    header('Content-Type: image/jpeg');
     
    $img_in = imagecreatefromjpeg($_GET['img']);
     
    $x_in = imagesx($img_in);
    $y_in = imagesy($img_in);
    $x_out = 150;
    $y_out = $x * $y / $x_out;
     
    $img_out = imagecreatetruecolor($x_out, $y_out); 
    imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, $x_out, $y_out, $x_in, $y_in);
    imagedestroy($img_in);
    echo imagejpeg($img_out);
    ?>
    Ce script redimensionne donc les images JPG dont l'adresse est passée dans l'URL, proportionnellement de façon à ce que leur largeur fasse 150 pixels.

    A noter que ce code peut être grandement optimisé :
    • Test de la validité de l'adresse passée
    • Test du fichier (type mime) passé
    • Adaptable à d'autres formats (GIF, PNG)
    • Dimensions variables
    • ...etc

    Il n'est pas non plus très optimisé dans le principe car il oblige à générer à chaque fois dynamiquement les images alors qu'elles pourraient être stockées quelqu'un part, avec un système de cache par exemple.

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Guardian_7
    Salut,

    A la rigueur, si ces images sont au format BMP, il serait utile de les convertir au format *.PNG, ou *.JPG dans le cas ou les images sont de qualité.

    Il n'existe pas de préfix qui te permette d'automatiser la création de miniatures (Si c'était ça ta question).

    Salutations !
    salut Guardian_7. merci pour ta réponse ! je savais que ma solution etait du coté de GD2 (librairie graphique php) mais jai deja essayer de refaire ce script depuis le debut mais sa ne fonctionne jamais... merci de ton aide !

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par 84mickael
    Tu peux faire une page qui va créer tes minatures à la volée et te les retourne avec une adresse du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="miniature.php?img=monImage.jpg" alt="monImage" />
    Et voici le code possible de la page miniature.php :
    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
    <?php
    header('Content-Type: image/jpeg');
     
    $img_in = imagecreatefromjpeg($_GET['img']);
     
    $x_in = imagesx($img_in);
    $y_in = imagesy($img_in);
    $x_out = 150;
    $y_out = $x * $y / $x_out;
     
    $img_out = imagecreatetruecolor($x_out, $y_out); 
    imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, $x_out, $y_out, $x_in, $y_in);
    imagedestroy($img_in);
    echo imagejpeg($img_out);
    ?>
    Ce script redimensionne donc les images JPG dont l'adresse est passée dans l'URL, proportionnellement de façon à ce que leur largeur fasse 150 pixels.

    A noter que ce code peut être grandement optimisé :
    • Test de la validité de l'adresse passée
    • Test du fichier (type mime) passé
    • Adaptable à d'autres formats (GIF, PNG)
    • Dimensions variables
    • ...etc

    Il n'est pas non plus très optimisé dans le principe car il oblige à générer à chaque fois dynamiquement les images alors qu'elles pourraient être stockées quelqu'un part, avec un système de cache par exemple.
    salut 84Mikael ! merci pour ton script sympa ! jaimerai juste savoir si je ne pourrai pas faire une fonction avec ton code au lieu de faire une page et ensuite d'appeler la fonction pour chaque image (dans mon while) ? merci de ton aide !

Discussions similaires

  1. création de miniatures et header()
    Par magicbisous-nours dans le forum Langage
    Réponses: 6
    Dernier message: 16/10/2008, 14h21
  2. Création de miniatures avec ma classe
    Par gtraxx dans le forum Langage
    Réponses: 1
    Dernier message: 10/08/2008, 20h06
  3. [Galerie] Création de miniatures et les effacer ensuite ? ou pas
    Par spike2 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 31/05/2008, 19h12
  4. erreur lors de création de miniature !
    Par Byakuya dans le forum Langage
    Réponses: 5
    Dernier message: 28/05/2007, 17h31
  5. [Image] Création de miniature
    Par Crazynoss dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 12/05/2006, 04h08

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