Traitement image Php (redim + ajout logo)
diice
Messages postés
131
Date d'inscription
Statut
Membre
Dernière intervention
-
diice Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
diice Messages postés 131 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis actuellement en train de tester la gestion des images avec PHP.
La GD est installée pas de souci.
en fait j'essaye de melanger 2 scripts afin d'obtenir une image recadrée et avec un logo dessus.
la premiere etape est de recadrer mon image source, c'est a dire prendre une partie de l'image source (en l'occurence une partie de 100x100). ca j'y arrive.
mais apres, je n'arrive pas a y intégrer un logo.
si je ne recadre pas l'image, le script d'intégration logo marche. mais des que je melange le tout, la sauce ne prends plus !
où d'apres vous est l'erreur ??
voici le code
merci de bien vouloir m'aider, je coince ! surement dans l'ordre de traitement, mais pourtant j'y suis allé a la logique...
merci encore !!
Je suis actuellement en train de tester la gestion des images avec PHP.
La GD est installée pas de souci.
en fait j'essaye de melanger 2 scripts afin d'obtenir une image recadrée et avec un logo dessus.
la premiere etape est de recadrer mon image source, c'est a dire prendre une partie de l'image source (en l'occurence une partie de 100x100). ca j'y arrive.
mais apres, je n'arrive pas a y intégrer un logo.
si je ne recadre pas l'image, le script d'intégration logo marche. mais des que je melange le tout, la sauce ne prends plus !
où d'apres vous est l'erreur ??
voici le code
//creation mini $sourceMini=imagecreatefromjpeg('imgsource.jpg'); // On charge d'abord les images $sourceIco = imagecreatefrompng('logo-a-incorporer.png'); // Le logo est la source // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_sourceIco = imagesx($sourceIco); $hauteur_sourceIco = imagesy($sourceIco); $largeur_destination = imagesx($sourceMini); $hauteur_destination = imagesy($sourceMini); // On veut placer le logo au centre, on calcule les coordonnées où on doit placer le logo sur la photo $destination_x = ($largeur_destination/2) - ($largeur_sourceIco/2); $destination_y = ($hauteur_destination/2) - ($hauteur_sourceIco/2); //Création de l'image de destination $DestinationMini=imagecreatetruecolor(100,100); //copy de la source vers destination imagecopyresampled($DestinationMini,$sourceMini,0,0,150,100,100,100,100,100); // On met le logo (source) dans l'image de destination (la photo) imagecopymerge($DestinationMini, $sourceIco, $destination_x, $destination_y, 0, 0, $largeur_sourceIco, $hauteur_sourceIco, 100); // Affichage imagejpeg($DestinationMini, NULL, 80);
merci de bien vouloir m'aider, je coince ! surement dans l'ordre de traitement, mais pourtant j'y suis allé a la logique...
merci encore !!
A voir également:
- Traitement image Php (redim + ajout logo)
- Logo .net - Télécharger - Études & Formations
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Image iso - Guide
- Logo jeu - Télécharger - Jeux vidéo
- Logo n - Guide
5 réponses
Non, excuse, c'est une coquille, j'ai remplacé mes variables par des noms génériques... effectivement, je ramene bien un .png :)
c changé :)
c changé :)
parce qu'a la finale l'image est en jpg.
l'image source (jpg) et le logo (png) qui vient se mettre dessus forme une nouvelle image finale en jpg.
c'est ce qui etait montré dans le script que j'ai pris ici : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916429-creez-des-images-en-php#ss_part_5
il y a bien une image jpg sur laquelle vient un png pour finir en jpeg a la finale...
c pour ça donc :)
l'image source (jpg) et le logo (png) qui vient se mettre dessus forme une nouvelle image finale en jpg.
c'est ce qui etait montré dans le script que j'ai pris ici : https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/916429-creez-des-images-en-php#ss_part_5
<?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("logo.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); ?>
il y a bien une image jpg sur laquelle vient un png pour finir en jpeg a la finale...
c pour ça donc :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question