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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Intégration de la fusion d'images avec "imagecopymerge" dans un script


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut Intégration de la fusion d'images avec "imagecopymerge" dans un script
    Bonjour, j'ai trouvé sur un site un petit code php qui permet grâce à la librairie GD et à la fonction "imagecopymerge" de fusionner deux images.
    Voici ce code qui fonctionne correctement

    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
    <?php
    header ("Content-type: image/jpeg"); // L'image que l'on va créer est un jpeg
    // On charge d'abord les images
     
    $source = imagecreatefrompng("logosdz.png"); // Le logo est la source
     
    $destination = imagecreatefromjpeg("couchersoleil.jpg"); // La photo est la destination
     
    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
     
    $largeur_source = imagesx($source);
     
    $hauteur_source = imagesy($source);
     
    $largeur_destination = imagesx($destination);
     
    $hauteur_destination = imagesy($destination);
     
    // On veut placer le logo en bas à droite, on calcule les coordonnées où on doit placer le logo sur la photo
     
    $destination_x = $largeur_destination - $largeur_source;
    $destination_y =  $hauteur_destination - $hauteur_source;
     
    // On met le logo (source) dans l'image de destination (la photo)
    imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 60);
    // On affiche l'image de destination qui a été fusionnée avec le logo
     
    imagejpeg($destination);?>

    J'essaye depuis quelques jours d'intégrer ce script dans un autre script d'upload et redimension d'image, mais je bloque, car le script d'upload est assez complexe pour mon niveau et je ne sais pas où et comment intégrer "l'imagecopymerge"...?

    Pour parachever le problème, je ne parle pas bien anglais et quand je contacte le créateur du script nous n'arrivons pas nous comprendre ...

    Mon but est qu'à chaque upload d'image sur mon site je puisse intégrer le logo de ma société à l'image uploadée.

    Voici le script d'upload et redimension que j'utilise [il y a y une démo du script en fin de page,]---> cliquez ici

    Si quelqu'un à l'envie et les moyens de m'aider, je l'en remercie d'avance!

  2. #2
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Essaye de mettre la fonction juste avant cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //Refresh the page to show the new uploaded image  
    header("location:".$_SERVER["PHP_SELF"]);  
    exit();

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut
    oui c'est en fait ce que j'essaye de faire depuis le début, mais ça ne fonctionne pas, le script d'upload et crop fonctionne niquel mais mon logo ne s'intègre pas

    Voici comment j'essaye d'intégrer cela
    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
    if (isset($_POST["upload_thumbnail"]) && strlen($large_photo_exists)>0) {
    	//Get the new coordinates to crop the image.
    	$x1 = $_POST["x1"];
    	$y1 = $_POST["y1"];
    	$x2 = $_POST["x2"];
    	$y2 = $_POST["y2"];
    	$w = $_POST["w"];
    	$h = $_POST["h"];
    	//Scale the image to the thumb_width set above
    	$scale = $thumb_width/$w;
    	$cropped = resizeThumbnailImage($thumb_image_location, $large_image_location,$w,$h,$x1,$y1,$scale);
     
    	// On charge d'abord les images
    $source = imagecreatefromgif("media/fond_triangle.gif"); // Le logo est la source
    $destination = imagecreatefromjpeg($cropped);
     
    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);
     
    // On veut placer le logo en bas à droite, on calcule les coordonnées où on doit placer le logo sur la photo
    $destination_x = $largeur_destination - $largeur_source;
    $destination_y =  $hauteur_destination - $hauteur_source;
     
    // On met le logo (source) dans l'image de destination (la photo)
     
    imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 100);
     
    //Reload the page again to view the thumbnail
    	header("location:".$_SERVER["PHP_SELF"]);
    	exit();
    }

  4. #4
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Citation Envoyé par foxprox Voir le message
    oui c'est en fait ce que j'essaye de faire depuis le début, mais ça ne fonctionne pas, le script d'upload et crop fonctionne niquel mais mon logo ne s'intègre pas

    Voici comment j'essaye d'intégrer cela
    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
    if (isset($_POST["upload_thumbnail"]) && strlen($large_photo_exists)>0) {
    	//Get the new coordinates to crop the image.
    	$x1 = $_POST["x1"];
    	$y1 = $_POST["y1"];
    	$x2 = $_POST["x2"];
    	$y2 = $_POST["y2"];
    	$w = $_POST["w"];
    	$h = $_POST["h"];
    	//Scale the image to the thumb_width set above
    	$scale = $thumb_width/$w;
    	$cropped = resizeThumbnailImage($thumb_image_location, $large_image_location,$w,$h,$x1,$y1,$scale);
     
    	// On charge d'abord les images
    $source = imagecreatefromgif("media/fond_triangle.gif"); // Le logo est la source
    $destination = imagecreatefromjpeg($cropped);
     
    // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
    $largeur_source = imagesx($source);
    $hauteur_source = imagesy($source);
    $largeur_destination = imagesx($destination);
    $hauteur_destination = imagesy($destination);
     
    // On veut placer le logo en bas à droite, on calcule les coordonnées où on doit placer le logo sur la photo
    $destination_x = $largeur_destination - $largeur_source;
    $destination_y =  $hauteur_destination - $hauteur_source;
     
    // On met le logo (source) dans l'image de destination (la photo)
     
    imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 100);
     
    //Reload the page again to view the thumbnail
    	header("location:".$_SERVER["PHP_SELF"]);
    	exit();
    }
    Pourquoi tu fais un imagecreatefromjpeg($cropped) ? Vu qu'il existe déjà.
    Essaye d'enlever cette ligne et dans la fonction imagecopymerge, remplace $destination par $cropped, je sait pas si ca viens de ca donc t ient nous au courant

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut
    problème résolu, j'ai finalement utilisé un autre script, merci quand même pour l'aide

    Et merci pour les super tutoriels pour apprendre PHP et la FAQ PHP.

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

Discussions similaires

  1. Fusion d'images avec Delphi
    Par ninaleo dans le forum Langage
    Réponses: 2
    Dernier message: 20/04/2009, 18h32
  2. [MySQL] Upload d'image avec insertion du chemin dans bdd
    Par DjChat dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 29/05/2008, 10h45

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