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 :

[ImageMagick] Miniature d'image depuis URL


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut [ImageMagick] Miniature d'image depuis URL
    Bonjour.

    Je voudrais savoir si il est possible d'afficher une miniature sur son site à partir d'une image sur internet (avec son url)?

    Je viens de créer une galerie ou tout le monde peut y ajouter ses images mais ma galerie les affiches en miniature avec width et height.

    Je trouve que le chargement de ma page et trop lent et en plus les miniatures ne sont pas super jolies. Donc je voudrais réaliser un script qui me permet de miniaturiser une image via son lien sur le net.

    Merci

  2. #2
    Membre émérite Avatar de djoyeux
    Profil pro
    Inscrit en
    Août 2007
    Messages
    595
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 595
    Par défaut fonction
    voila une fonction que j'ai trouvé sur le net et qui marche trés bien...

    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
     
    function redimage($img_src,$img_dest,$dst_w,$dst_h) {
       // Lit les dimensions de l'image
       $size = GetImageSize($img_src);
       $src_w = $size[0]; $src_h = $size[1];
       // Teste les dimensions tenant dans la zone
       $test_h = round(($dst_w / $src_w) * $src_h);
       $test_w = round(($dst_h / $src_h) * $src_w);
       // Si Height final non précisé (0)
       if(!$dst_h) $dst_h = $test_h;
       // Sinon si Width final non précisé (0)
       elseif(!$dst_w) $dst_w = $test_w;
       // Sinon teste quel redimensionnement tient dans la zone
       elseif($test_h>$dst_h) $dst_w = $test_w;
       else $dst_h = $test_h;
     
       // Crée une image vierge aux bonnes dimensions
       $dst_im = imagecreatetruecolor($dst_w,$dst_h);
       // Copie dedans l'image initiale redimensionnée
       $src_im = ImageCreateFromJpeg($img_src);
       ImageCopyResized($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
       // Sauve la nouvelle image
       ImageJpeg($dst_im,$img_dest);
       // Détruis les tampons
       ImageDestroy($dst_im);
       ImageDestroy($src_im);
     
       // Affiche le descritif de la vignette
       echo "SRC='".$img_dest."' WIDTH=".$dst_w." HEIGHT=".$dst_h;
    } //fin de création d'imagette

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    C'est très sympa de ta part djoyeux mais comme je suis nouveau dans le monde du php je comprend un peu le code que tu m'as envoyé mais je ne sais aps ou le mettre.

    Voici mon 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
    32
    33
    34
    35
    36
    <?php
    (configuration de ma base de donnée)...
     
    $sql = mysql_query("SELECT * FROM $table ORDER BY id ASC") or die ("erreur de connexion");
     
    $i = 1;
     
    // on affiche le résultat
    while($resultat = mysql_fetch_array($sql))
    {
     
    // réception des données
    $id = $resultat['id'];
    $nom = $resultat['nom'];
    $mail = $resultat['mail'];
    $url = $resultat['url'];
     
    // affichage des données
        echo "<table bgcolor=#e1e1e1 width=130><tr><td align=center>
    <a href=mailto:\"".$mail."\"><b>$nom</b></a>
    </td></tr><tr><td bgcolor=#FFFFFF align=center height=90>
    <a href=\"".$url."\">
    <img border=0 src=\"".$url."\" width=105></a>
    </td></tr></table></td>	<td align=center>";
     
        if (!($i % 3)) {
            echo '</td></tr><tr>	<td align="center" height=120>';
        }
     
        $i++;
    }
     
    // on ferme la base de donnée
    mysql_close();
     
    ?>
    Merci pour ton aide.

  4. #4
    Membre émérite Avatar de djoyeux
    Profil pro
    Inscrit en
    Août 2007
    Messages
    595
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 595
    Par défaut inculre ta fonction
    bon cette fonction est a inclure dans la page ou tu veux l'utiliser.

    Moi personnellement j'ai créer une page php que j'incule apres dans tout les pages ou j'ai toute mes déclarations de variable mais aussi les fonctions dont celle-la.
    ça te permet apres de l'appeller à n'importe quelle moment.

    apres pour l'utiliser je te montre un bout de mon code.

    d'abors créer un repertoire temp avec fullaccess pour stoker tes imagettes et apres voila le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        <? if ($res['IMG_INFO'] != "") {
        $IMG_INFO=$res['IMG_INFO']; //il faut mettre le liens vers l'images que tu désire
    $tmp_image = str_replace("im_info/","temp/tmp","$IMG_INFO"); // tmp image correspond a ton image une fois travaillé en gros le but est de remplacé pour toi la valeur htt://monsite.fr/images/monimages.jpg par temp/petitmonimage.jpg c'est pour ça que le str_replace est utilisé
        ?>
        <a href="<? echo $IMG_INFO; ?>" target="_blanck"><img <? redimage($IMG_INFO,$tmp_image,180,180)?> style="border:0px" /></a>
    Le 180,180 correspond a la taille de l'image que tu veux voire apparaitre.
    LE plus difficile pour toi sera de renommer l'image pour la stocker dans ton répertoire. il faut que tu fasse un peu a taton et n'oublie pas les echo qui te permettrons de voir si les chemins d'accès aux images sont juste.

    Derniere info n'oublie pas d'activé les module dans le php comme c t indiqué plus haut

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

Discussions similaires

  1. [Débutant] insertion image depuis url dans crystal report
    Par samia_86 dans le forum VB.NET
    Réponses: 2
    Dernier message: 02/04/2015, 11h58
  2. Affichage d'une image depuis URL
    Par Jojo____ dans le forum Android
    Réponses: 5
    Dernier message: 10/01/2012, 16h36
  3. iReport - pas d'image depuis url
    Par Goffer dans le forum iReport
    Réponses: 2
    Dernier message: 15/03/2011, 09h05
  4. [Vb.net] Récupérer fichier Image depuis URL
    Par miabi dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/10/2009, 15h56
  5. [MySQL] Insertion Image depuis url en PHP
    Par Tillow dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/10/2007, 14h29

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