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 28/11/2006, 12h19   #1
Invité de passage
 
Inscription : novembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 5
Points : 0
Points : 0
Par défaut ImagePng qui ne m'affiche pas l'image

Bonjour
Je viens chercher de l'aide car je galère !

J'ai fait une page php pour un site internet. Cette page me permet de créer un graphe en focntion de données entrées dans la base de données.

Je fabrique mon image puis appelle la fonction ImagePng($img) afin de l'afficher. Quand j'ouvre ma page php au lieu de l'image j'ai ‰PNG  suivi de pleins de caracteres tout bizarres...

Normalement si l'image ne se créait pas je devrais avoir "Erreur lors de la création de l'image"

Si je fais ImagePng($img, $adr) l'image se créée bien et est enregistrée a l'adresse indiquée. Mais pour un site c'est pas l'idéal !

Est ce que quelqu'un peut m'aider ?
AlineWW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2006, 12h38   #2
Membre du Club
 
Inscription : juin 2003
Messages : 46
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 46
Points : 43
Points : 43
Bonjour,
Que retourne la fonction? un fichier .png?

"Si je fais ImagePng($img, $adr) l'image se créée bien et est enregistrée a l'adresse indiquée. Mais pour un site c'est pas l'idéal !"
Pas l'idéal pourquoi?


Parce que si la fonction retourne un fichier .png l'appel de la fonction va bien générer le fichier qui sera crée sur le serveur. Il manquera toujours l'affichage alors il faut la mettre dans une balise html <img scr="" .....
__________________
Gaétan
gaetanc15 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2006, 12h54   #3
Membre confirmé
 
Homme Emmanuel Thierry
Ingénieur systèmes et réseaux
Inscription : décembre 2003
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Emmanuel Thierry
Âge : 24
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Enseignement

Informations forums :
Inscription : décembre 2003
Messages : 216
Points : 219
Points : 219
Oui, il faut placer dans ton script un
Code :
header('Content-Type: image/jpeg');
et appeler ce script dans une balise html img.
Sékiltoyai est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2006, 14h37   #4
Invité de passage
 
Inscription : novembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 5
Points : 0
Points : 0
Citation:
Envoyé par gaetanc15
Parce que si la fonction retourne un fichier .png l'appel de la fonction va bien générer le fichier qui sera crée sur le serveur. Il manquera toujours l'affichage alors il faut la mettre dans une balise html <img scr="" .....
Oui ca je l'ai fait, en local ca marche tres bien mais a distance ca foire, ca me renvois un erreur qui me dit que le fichier n'est pas accessible en ecriture. Et de toutes facons, je risque d'avoir beaucoup d'image donc je ne voudrais pas les enregistrer, mais seulement les afficher directement.

Citation:
Envoyé par Sékiltoyai
Oui, il faut placer dans ton script un
Code :

header('Content-Type: image/jpeg');

et appeler ce script dans une balise html img.

le header je l'avais mis ( mais dans mon cas : header('Content-Type: image/png'); ) mais il n'avait pas l'air de plaire a firefox, donc je l'ai enlevé.

et quel script tu me dis d'appeler dans la balise img ?
AlineWW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2006, 16h44   #5
Membre éclairé
 
Avatar de broumbroum
 
Inscription : août 2006
Messages : 406
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : août 2006
Messages : 406
Points : 383
Points : 383
Par défaut GD2 et le buffer de sortie

ce ne sont que des directions qu'il faut relativiser... c'est mon expérience sur la librairie GD!
  • s'assurer de la sortie sur le script
  • comment? en enlevant tous appels à echo ou print() OU utiliser ob_start() et ses accolytes pour engorger l'output et tamporiser la sortie voire concentrer les données sur un seul appel à ob_flush(), c.f. php.net
  • assurer la disponibilité de la resource image et activer le debuggeur php avec error_reporting(E_ALL) dans le script concerné par GD

broumbroum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2006, 18h04   #6
Invité de passage
 
Inscription : novembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 5
Points : 0
Points : 0
Je suis réellement desolée... mais je ne comprend rien a ce que tu me dis. Pourtant je sens que ca doit pouvoir m'aider...
AlineWW est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2006, 03h38   #7
Membre éclairé
 
Avatar de broumbroum
 
Inscription : août 2006
Messages : 406
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : août 2006
Messages : 406
Points : 383
Points : 383
c'est simple après pour la technique tu lies le script du buffer sur la balise image. par exemple:
Code :
<img src="_image.php?file=monImage.png&type=png"/>
qui prend source au script php
Code :
1
2
3
4
5
6
header("Content-type: image/".$_GET['type']); switch($_GET['type']) {
case "gif":
      imagegif(imagecreatefromgif($_GET['file']));   
break;
// etc.
default: die("No support for this type!");
broumbroum 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 13h19.


 
 
 
 
Partenaires

Hébergement Web