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

Langage PHP Discussion :

[Tableaux] créer une image


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 6
    Points
    6
    Par défaut [Tableaux] créer une image
    bonjour,
    Je cherche à créer une image à l'aide d'une fonction.
    J'ai créé un fichier g1.php qui contient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    header("Content-type: image/png");
    function Dessin($w=100, $h=50) {
    	$im=imagecreate($w,$h);
    	$blanc=imagecolorallocate($im,0xff,0xff,0xff);
    	$noir=imagecolorallocate($im,0,0,0);
    	$string="$w x $h";
    	imagestring($im,1,10,10,$string,$noir);
    	$ret=imagepng($im);
    	// imagedestroy($im);
    	return $ret;
    };
    ?>
    et j'appelle la fonction dans un fichier HTML t1.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <? session_start(); 
      include "g1.php"; ?>
    <html>
    <head></head>
    <body>
    <h3>essai graphique</h3>
    <img src="<? echo Dessin(400,200); ?>"><br>
    </body>
    </html>
    mais l'image ne s'affiche pas,
    Firefox m'affiche
    L'image “http://127.0.0.1/Cyril/php/t1.php” ne peut être affichée car elle contient des erreurs.
    Qu'ai-je fait de mal?

  2. #2
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Et avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    header("Content-type: image/png");
    function Dessin($w=100, $h=50) {
    	$im=imagecreate($w,$h);
    	$blanc=imagecolorallocate($im,0xff,0xff,0xff);
    	$noir=imagecolorallocate($im,0,0,0);
    	$string="$w x $h";
    	imagestring($im,1,10,10,$string,$noir);
    	imagepng($im);
    }
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <? 
      session_start(); 
      include "g1.php"; 
    ?>
    <html>
    <head></head>
    <body>
    <h3>essai graphique</h3>
    <? Dessin(400,200); ?>
    </body>
    </html>
    ?

  3. #3
    Invité4
    Invité(e)
    Par défaut
    <img src="g1.php?width=300&height=500">

    tu ne peux pas mélanger html et image dans un seul fichier

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Anduriel: ça ne marche pas non plus,

    Eldacar: ça marcherait si je définissais l'image directement dans g1.php, et non dans une fonction définie dans ce fichier.
    Or, je tiens à cette définition, car mon objectif est de faire une ou plusieurs fonctions dans ce fichier, avec passage de divers paramètres.
    J'ai été bloqué en essayant l'autre solution par le passage de paramètres par serialize() qui bloquait dès que je voulais envoyer un tableau de 50 données en paramètre.

    d'autres solution?

  5. #5
    Invité4
    Invité(e)
    Par défaut
    La solution est que ton image doit être dans un fichier différent de ton code HTML, tu ne peux pas mixer. Tu dois créer un fichier php qui se comporte comme une image, c'est tout.

  6. #6
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    fait ce qu'a dit Eldacar, et apres tu peux passer des parametres en GET, et autant que tu veux.

    ou meme en variable de session je pense.

    pour les GET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <? session_start(); ?>
    <html>
    <head></head>
    <body>
    <h3>essai graphique</h3>
    <img src="dessin.php?width=60&height=123"><br>
    </body>
    </html>

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    en GET, je me retrouve bloqué par le passage de tableaux de plus de 80 valeurs.
    Je vais essayer avec les variables de session.
    Merci

  8. #8
    Invité4
    Invité(e)
    Par défaut
    Tu peux :
    - sérialiser ton tableau
    - le stocker dans une base de donnée dans un champ TEXT associé à un id, genre md5(microtime()).
    - et passer seulement l'id en GET
    - et lire depuis l'image le tableau sérialisé dans la table, selon l'id passé en GET, puis supprimer cet enregistrement.

  9. #9
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Citation Envoyé par Eldacar
    Tu peux :
    - sérialiser ton tableau
    - le stocker dans une base de donnée dans un champ TEXT associé à un id, genre md5(microtime()).
    - et passer seulement l'id en GET
    - et lire depuis l'image le tableau sérialisé dans la table, selon l'id passé en GET, puis supprimer cet enregistrement.
    par les session c'est pas plus simple ?

  10. #10
    Invité4
    Invité(e)
    Par défaut
    Citation Envoyé par Maxoo
    par les session c'est pas plus simple ?
    Ouais ok, moi j'avais fait comme ça car ça avait pas passé avec les sessions, sûrement un problème de ma part.
    Mais ouais en fait, utilise les sessions.

  11. #11
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Citation Envoyé par berlo
    Anduriel: ça ne marche pas non plus,
    J'ai testé en local et ça marche sans problème

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 6
    Points
    6
    Par défaut variable de session
    bonjour,
    J'essaye de passer par les variables de session:
    fichier t1.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <? session_start(); ?>
    <html>
    <head></head>
    <body>
    <h3>essai graphique</h3>
    <? $_SESSION["param"]="création d'image"; ?>
    <img src="g1.php">
    </body>
    </html>
    fichier g1.php:
    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");
    //$parametre = $_SESSION["param"];
    $im = @imagecreate (200, 50)
       or die ("Impossible d'initialiser la bibliothèque GD");
    $background_color = imagecolorallocate ($im, 16, 16, 16);
    $text_color = imagecolorallocate ($im, 233, 14, 91);
    imagestring ($im, 1, 5, 5,  "mon texte", $text_color); 
    imagepng ($im);
    imagedestroy($im);
    ?>
    Résultat: l'image est bien affichée,
    mais si je décommente la ligne 3 de récup du paramètre, ca ne marche plus, pourquoi?

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Ca y est, j'ai trouvé:
    J'ai rajouté en tête de g1.php, et ça marche.
    Je pensais qu'il suffisait de le lancer dans t1.php.
    Merci pour tout, je vais pouvoir continuer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer une image à partir d'une URL ?
    Par DrySs dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2006, 09h39
  2. Réponses: 1
    Dernier message: 30/12/2005, 17h14
  3. Créer une image disque
    Par tsing dans le forum Composants
    Réponses: 2
    Dernier message: 14/12/2005, 16h19
  4. comment créer une image sous forme d'eclipse(ronde)
    Par unix27 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 15/05/2005, 22h16
  5. [Image]Créer une image avec JAVA 1.1
    Par burno dans le forum 2D
    Réponses: 4
    Dernier message: 11/08/2004, 09h19

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