Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/02/2008, 20h17   #1
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 25
Points : 25
Par défaut problème à l'affichage de l'image

bonjour

je suis le tutoriel sur GD et au premier exemple j'ai ce probleme

le code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
<HTML>
<HEAD>
<TITLE>Test</TITLE> 
</HEAD>
 
<body>
<?php
header("Content-type: image/png");
$x = 50;
$y = 100;
$image = imagecreatetruecolor($x,$y);
imagepng($image);
imagedestroy($image);
?>
<CENTER><IMG SRC="banniere2.png">
<BR>
<HR  SIZE=3>
</CENTER><IMG SRC="travaux2.png">
 
</body>
</html>
l'erreur qui affiche dans le navigateur iceweasel :
Code :
1
2
3
 
Warning: Cannot modify header information - headers already sent by (output started at /usr/local/apache2/htdocs/index.php:12) in /usr/local/apache2/htdocs/index.php on line 18
&#65533;PNG      etc...
j'ai dans autre post qu'il ne fallait pas espace ou de retour chariot
alors j'ai fait :
Code :
1
2
3
4
5
6
7
8
9
10
 
<?phpheader("Content-type: image/png");
$x = 50;
$y = 100;
$image = imagecreatetruecolor($x,$y);
imagepng($image);
imagedestroy($image);
?>
 
Fatal error: Call to undefined function phpheader() in /usr/local/apache2/htdocs/index.php on line 12
ou
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php header("Content-type: image/png");
$x = 50;
$y = 100;
$image = imagecreatetruecolor($x,$y);
imagepng($image);
imagedestroy($image);
?>
 
Warning: Cannot modify header information - headers already sent by (output started at /usr/local/apache2/htdocs/index.php:12) in /usr/local/apache2/htdocs/index.php on line 12
&#65533;PNG 
j'ai editer phpinfo(); et il y a tous comme il faut.

merci d'avance pour votre aide.
lrgtk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 20h21   #2
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Bonsoir,
il ne doit rien y avoir avant la balise <?php. Dans le premier exemple, vous ajoutez des balises HTML avant le script PHP, il faudrait savoir, c'est une image ou une page HTML?

Rien avant le <?php.

Cordialement,
DaRiaN.
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 20h28   #3
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 25
Points : 25
vous pouvez detail,
rien avant ?
le script php fonctionne bien dans une page html ? non !
lrgtk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 20h36   #4
Futur Membre du Club
 
Inscription : janvier 2008
Messages : 14
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2008
Messages : 14
Points : 17
Points : 17
Il faut que tu mettes le code php dans un autre fichier, par exemple :

image.php contient :
Code :
1
2
3
4
5
6
7
8
<?php
header("Content-type: image/png");
$x = 50;
$y = 100;
$image = imagecreatetruecolor($x,$y);
imagepng($image);
imagedestroy($image);
?>
Puis tu fais appel à ce fichier dans ta page principale :
Code :
1
2
3
4
5
6
7
8
9
10
 
<HTML>
<HEAD>
<TITLE>Test</TITLE> 
</HEAD>
 
<body>
<CENTER><IMG SRC="image.php"> 
</body>
</html>
eban77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 20h42   #5
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Citation:
Envoyé par lrgtk Voir le message
le script php fonctionne bien dans une page html ? non !
Non, là vous demandez à PHP de créer une image. Donc, oui, comme le préconise eban77, servez-vous du fichier votre_fichier.php comme si c'était votre_fichier.png (en gros, une image toute bête) mais sans renommer le fichier, car oui, c'est bien un script PHP et non ce n'est pas une page HTML.
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 20h47   #6
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 25
Points : 25
désolé je ne vois toujours pas

vous pouvez donnée un exemple.
lrgtk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 21h04   #7
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Je ne vois pas quoi ajouter à l'exemple d'eban77.

Vous prenez votre éditeur de code favori, vous créer le fichier test.html avec le second code d'eban77, ensuite vous créer le fichier image.php avec le premier code d'eban77.

Vous accédez, via votre navigateur, à la page test.html et vous voyez l'image générée par le script image.php. Normalement, en accédant directement au script image.php via votre navigateur, vous devriez aussi voir l'image.
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 21h44   #8
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 25
Points : 25
compris

mais dans l'exemple 03_color_create.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?php
header("Content-type: image/png"); //la ligne qui change tout !
$x = 50; //largeur de mon image en PIXELS uniquement !
$y = 100; //hauteur de mon image en PIXELS uniquement !
 
/* on créé l'image en vraies couleurs avec une largeur de 50 pixels et une hauteur de 100 pixels */
$image = imagecreatetruecolor($x,$y);
$color = "BEDFFE";
$rouge = hexdec(substr($color,0,2)); //conversion du canal rouge
$vert = hexdec(substr($color,2,4)); //conversion du canal vert
$bleu = hexdec(substr($color,4,6)); //conversion du canal bleu
 
$couleur = imagecolorallocate($image,$rouge,$vert,$bleu);
/* on créé la couleur et on l'attribue à une variable pour ne pas la perdre */
 
imagepng($image); //renvoie une image sous format png
imagedestroy($image); //détruit l'image, libérant ainsi de la mémoire
?>
j'ai un rectangle noir, il ne devrait pas etre d'une autre couleur ?

merci pour votre patience
lrgtk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 22h22   #9
Nouveau Membre du Club
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 25
Points : 25
le probleme vient de
Code :
1
2
 
$image = imagecreatetruecolor($x,$y);
qu'il faut remplacer par
Code :
1
2
 
$image = imagecreate($x,$y);
lrgtk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2008, 00h19   #10
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Pas du tout, avec imagecreatetruecolor, on effectue le remplissage avec la fonction imagefill :

Code :
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
<?php
 
  $x = 50;
  $y = 100;
 
  $image = imagecreatetruecolor($x,$y);
 
  $color = "BEDFFE";
 
  $rouge = hexdec(substr($color,0,2));
  $vert = hexdec(substr($color,2,4));
  $bleu = hexdec(substr($color,4,6));
 
  $couleur = imagecolorallocate($image,$rouge,$vert,$bleu);
 
  /* ICI
  -> */
  imagefill($image, 0, 0, $couleur);
  // <-
 
  header("Content-type: image/png");
  imagepng($image);
 
  imagedestroy($image);
 
?>
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h41.


 
 
 
 
Partenaires

Hébergement Web