IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[GD] problème à l'affichage de l'image


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 101
    Points : 56
    Points
    56
    Par défaut [GD] 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    �PNG      etc...
    j'ai dans autre post qu'il ne fallait pas espace ou de retour chariot
    alors j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    �PNG 
    j'ai editer phpinfo(); et il y a tous comme il faut.

    merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    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.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 101
    Points : 56
    Points
    56
    Par défaut
    vous pouvez detail,
    rien avant ?
    le script php fonctionne bien dans une page html ? non !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Points : 16
    Points
    16
    Par défaut
    Il faut que tu mettes le code php dans un autre fichier, par exemple :

    image.php contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <HTML>
    <HEAD>
    <TITLE>Test</TITLE> 
    </HEAD>
     
    <body>
    <CENTER><IMG SRC="image.php"> 
    </body>
    </html>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    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.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 101
    Points : 56
    Points
    56
    Par défaut
    désolé je ne vois toujours pas

    vous pouvez donnée un exemple.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    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.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 101
    Points : 56
    Points
    56
    Par défaut
    compris

    mais dans l'exemple 03_color_create.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 101
    Points : 56
    Points
    56
    Par défaut
    le probleme vient de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $image = imagecreatetruecolor($x,$y);
    qu'il faut remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $image = imagecreate($x,$y);

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Pas du tout, avec imagecreatetruecolor, on effectue le remplissage avec la fonction imagefill :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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);
     
    ?>

Discussions similaires

  1. Problème d'affichage d'une image avec Glade.
    Par tistri dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 21/04/2007, 18h56
  2. Problème d'affichage d'une image GIF
    Par michaeljeru dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 01/04/2007, 10h27
  3. Problème d'affichage d'une image
    Par parano dans le forum C++
    Réponses: 12
    Dernier message: 21/03/2007, 18h57
  4. problème d'affichage d'une image au format DDS (24-bit)
    Par thunderbird dans le forum DirectX
    Réponses: 2
    Dernier message: 22/03/2006, 11h00
  5. [GD] Problème d'affichage d'une image avec gd2
    Par turini dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo