Insertion d'une image sur une photo php [Résolu]

Messages postés
46
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
5 mai 2010
- - Dernière réponse : kohntark
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
- 4 mai 2010 à 11:11
Bonjour,

Je fais actuellement un site ou je dois gérer des voitures en vente et bientot disponible.
Sur les voiture bientot disponible il faut que j'ajoute une image sur la photo pour indiqué au utilisateur qu'elle est bientot disponible (je radotte, je sais...).
Je ne sais pas du tout comment faire car j'ai essayé plusieurs tutoriel mais rien n'a fonctionné et tout ce que j'ai u d'afficher ce sont des symboles étrange.
Aidez moi svp...
Afficher la suite 

9 réponses

Meilleure réponse
Messages postés
46
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
5 mai 2010
3
Merci
Je viens d'essayer ceci:
Photo :

<?php if ($photo!='') {

header ("Content-type: image/jpeg"); // L'image que l'on va créer est un jpeg

// On charge d'abord les images
$source = imagecreatefrompng("../images/bientot-disponible.png"); // Le logo est la source
$destination = imagecreatefromjpeg("../photo_defo/$photo"); // 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);
}
else {
echo "pas d'image";
} ?>



c'est ce qui me semblé le plus logique.

Mais au final j'obtiens:
Photo :

Warning: Cannot modify header information - headers already sent by (output started at /homez.342/lmautosp/www/admin/ajout-voiture2.php:45) in /homez.342/lmautosp/www/admin/ajout-voiture2.php on line 99
ÿØÿà�JFIF������ÿþ�>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛ�C�    $.' ",#(7),01444'9=82<.342ÿÛ�C  2!!22222222222222222222222222222222222222222222222222ÿÀ�^"�ÿÄ����������� ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcde

[... ]

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de boubeuch1
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
3
Merci
Oups, je n'avais pas vu ton dernier message.

Warning: Cannot modify header information - headers already sent by (output started at /homez.342/lmautosp/www/admin/ajout-voiture2.php:45) in /homez.342/lmautosp/www/admin/ajout-voiture2.php on line 99

Impossible de modifier le header qui a déjà été envoyé à la ligne 45 du même fichier.
Il ne faut rien envoyer avant ton header !

Tu peux par exemple mettre tout le code de création de l'image dans un fichier "image.php" et l'appeler ainsi dans ajout-voiture2.php :




Au passage : pense à répondre aux threads que tu as toi même initiés, par politesse et pour éventuellement aider d'autres personnes.
A relire tes derniers posts ça n'a pas l'air d'être ta priorité


Kohntark -

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de kohntark
Messages postés
46
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
5 mai 2010
0
Merci
Tout d'abord je remplit un formulaire avec les différentes caractéristique du véhicule et je télécharge une photo.

Ensuite j'arrive sur une page qui enregistre cette nouvelle voiture dans la BDD et qui affiche les différentes caractéristique enregistré:

Description :
<?php echo $description;?>


Avis :
<?php echo $avis;?>


Statut :
<?php if ($statut= ='1') { echo "Bientôt disponible";}
if ($statut=='2') { echo " En vente";}
if ($statut=='3') { echo "Vendue";}
if ($statut=='4') { echo "Coup de coeur";}?>


Photo :

<?php if ($photo! ='') {
echo "";
}
else {
echo "pas d'image";
} ?>



Je ne sais pas très bien si c'est avant ou aprés le téléchargement que je dois la modifier...
Commenter la réponse de boubeuch1
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
0
Merci
Salut,

Euh, une fois sur le serveur tu ajoutes ton image en surimpression de la photo (via GD ou en css)
Où est le problème exactement ?


Kohntark -
Commenter la réponse de kohntark
Messages postés
46
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
5 mai 2010
0
Merci
Au passage : pense à répondre aux threads que tu as toi même initiés, par politesse et pour éventuellement aider d'autres personnes.

je n'ai pas compris... ça ne fait pas longtemps que je navigue sur des forums alors je ne vois pas trop ce que tu veux dire.
Commenter la réponse de boubeuch1
Messages postés
46
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
5 mai 2010
0
Merci
ça fonctionne mais ça ne l'enregistre pas...
En effet je souhaite utilisé cette photo dans plusieurs autres pages.
Commenter la réponse de boubeuch1
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
0
Merci
je n'ai pas compris... ça ne fait pas longtemps que je navigue sur des forums alors je ne vois pas trop ce que tu veux dire.

Ce que je veux dire c'est que nombre de questions que tu as posées sur ce forum restent sans réponse de ta part. Lorsque qu'une personne te répond ou te propose une solution il me semble normal d'avoir la politesse d'y répondre : ça permet à cette personne de ne pas avoir l'impression de parler dans le vide et d'avoir perdu son temps, et ça peut permettre d'aider d'autres membres.
Ton dernier sujet par exemple : http://www.phpcs.com/forum/sujet-AFFICHAGE-IMAGES-APRES-REDIMENSION_1428745.aspx
Zut13 t'a proposé une solution ... la moindre des choses serait de lui répondre, en précisant si tu t'en es sorti et par quel biais. Un petit remerciement sans chichi montrerait aussi que tu n'es pas là que pour exploiter le temps des autres.
Malheureusement c'est loin d'être le seul exemple

Pour en revenir à ton problème :
Si tu veux enregistrer l'image générée il faut ... l'enregistrer.
Un petit tour vers la doc de imagejpeg :
[i]imagejpeg — Envoie une image JPEG vers un navigateur ou un fichier
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )
filename

Le chemin vers le fichier de sauvegarde. S'il n'est pas défini ou s'il vaut NULL, le flux brut de l'image sera affiché directement.

Pour éviter de fournir cet argument afin de fournir l'argument quality, utilisez une valeur NULL.

/i
Donc :
imagejpeg($destination, 'chemin_où_enregistrer_l_image_générée');

Dans ce il sera plus logique :
- d'enregistrer l'image (ex : x.jpg)
- puis de l'afficher "normalement"

Kohntark -
Commenter la réponse de kohntark
Messages postés
46
Date d'inscription
lundi 12 avril 2010
Statut
Membre
Dernière intervention
5 mai 2010
0
Merci
bah c sans doute un oubli involontaire, sans doute que je me suis occupé d'autre chose et j'ai oublié que j'avais posté quelque chose.
J'ai pas mal de projet en même temps... dsl je vais m'en occupé de suite.
Commenter la réponse de boubeuch1
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
21
0
Merci
voilà qui est mieux.
Je ne suis pas là pour faire des leçons de morale hein, ni pour avoir des "mercis", mais ça me hérisse le poil de voir à quel point nombre d'intervenants n'ont strictement aucun respect pour les personnes qui les aident gratuitement.

bah c sans doute un oubli involontaire, sans doute que je me suis occupé d'autre chose et j'ai oublié que j'avais posté quelque chose.
J'ai pas mal de projet en même temps

Parce que tu penses que les intervenants ne sont pas dans le même cas ???
Tu oublies de dire merci à la boulangère lorsque tu vas chercher ton pain (payant) et que tu es pressé ? Moi non.


Kohntark -
Commenter la réponse de kohntark