Insertion d'une image sur une photo php

Résolu
boubeuch1 Messages postés 46 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 5 mai 2010 - 3 mai 2010 à 15:57
kohntark Messages postés 3705 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...

9 réponses

boubeuch1 Messages postés 46 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 5 mai 2010
3 mai 2010 à 16:10
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

[... ]
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 mai 2010 à 23:35
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 -
3
boubeuch1 Messages postés 46 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 5 mai 2010
3 mai 2010 à 16:01
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...
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
3 mai 2010 à 16:28
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 -
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
boubeuch1 Messages postés 46 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 5 mai 2010
4 mai 2010 à 08:31
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.
0
boubeuch1 Messages postés 46 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 5 mai 2010
4 mai 2010 à 10:02
ça fonctionne mais ça ne l'enregistre pas...
En effet je souhaite utilisé cette photo dans plusieurs autres pages.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
4 mai 2010 à 10:23
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 -
0
boubeuch1 Messages postés 46 Date d'inscription lundi 12 avril 2010 Statut Membre Dernière intervention 5 mai 2010
4 mai 2010 à 10:41
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.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
4 mai 2010 à 11:11
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 -
0
Rejoignez-nous