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] tracer une ligne avec PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut [GD] tracer une ligne avec PHP
    Bonjour,

    je recherche aussi a tracer une lignes (en fait un graphe) j'ai bine trouver le code ci-dessous sur le net mais je ne comprends pas l'un des parametres:

    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
    27
    28
     
    <?php
     
    function imagelinethick($image, $x1, $y1, $x2, $y2, $color, $thick = 1) 
    {
        /* de cette manière, ca ne marche bien que pour les lignes orthogonales
        imagesetthickness($image, $thick);
        return imageline($image, $x1, $y1, $x2, $y2, $color);
        */
        if ($thick == 1) {
            return imageline($image, $x1, $y1, $x2, $y2, $color);
        }
        $t = $thick / 2 - 0.5;
        if ($x1 == $x2 || $y1 == $y2) {
            return imagefilledrectangle($image, round(min($x1, $x2) - $t), round(min($y1, $y2) - $t), round(max($x1, $x2) + $t), round(max($y1, $y2) + $t), $color);
        }
        $k = ($y2 - $y1) / ($x2 - $x1); //y = kx + q
        $a = $t / sqrt(1 + pow($k, 2));
        $points = array(
            round($x1 - (1+$k)*$a), round($y1 + (1-$k)*$a),
            round($x1 - (1-$k)*$a), round($y1 - (1+$k)*$a),
            round($x2 + (1+$k)*$a), round($y2 - (1-$k)*$a),
            round($x2 + (1-$k)*$a), round($y2 + (1+$k)*$a),
        );    
        imagefilledpolygon($image, $points, 4, $color);
        return imagepolygon($image, $points, 4, $color);
    }
    ?>
    le parametre qui me gênes est $Image , s'agit d'il d'un objet, d'une image vierge (blanche par exemple)

    merci de vos réponses
    cordialement
    Qays

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Regarde le manuel GD.

    A+.

  3. #3
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    bonjour,

    j'ai essayer ce morceau de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $im = @imagecreate(110, 20)or die("Impossible d'initialiser la bibliothèque GD");
    $background_color = imagecolorallocate($im, 0, 0, 0);
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
    imagepng($im);
    imagedestroy($im);
    et voila ce que j'obtiens sur ie, googlechrome, safari....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ‰PNG  IHDRnV,šPLTEé[an÷fIDAT•c` `fxÄÀÃ`Ç ÀçÀä²41ƒ‚€˜Ë–Ý’Àq²@੤;{á0— œi
    pouvez-vous me dire ce qu'il manque

    voila le code de ma page 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
    20
    21
     
    <?php session_start(); ?>
     
    <html>
    <head>
    	<meta name="viewport" content="width=device-width">		
    	<link rel="stylesheet" type="text/css" href="file.css" />	
    	<title>gestion des vols</title>
    	<body>
    		<?php 
    $im = @imagecreate(110, 20)or die("Impossible d'initialiser la bibliothèque GD");
    $background_color = imagecolorallocate($im, 0, 0, 0);
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
    imagepng($im);
    imagedestroy($im);			
    	 ?>
    	</body>		
    </head>
     
    </html>

  5. #5
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,

    tu ne peux pas associer ton script de création d'images au html étant donner que c'est deux choses différentes.

    Tu peux éclater ton code en :
    1. fichier PHP image.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");
     
     $im = @imagecreate(110, 20)or die("Impossible d'initialiser la bibliothèque GD");
     $background_color = imagecolorallocate($im, 0, 0, 0);
     $text_color = imagecolorallocate($im, 233, 14, 91);
     imagestring($im, 1, 5, 5,  "A Simple Text String", $text_color);
     imagepng($im);
     imagedestroy($im);			
    ?>
    2. le html appelant l'image
    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
     
     
    <?php session_start(); ?>
     
    <html>
    <head>
    	<meta name="viewport" content="width=device-width">		
    	<link rel="stylesheet" type="text/css" href="file.css" />	
    	<title>gestion des vols</title>
    	<body>
    		<img src="image.php" alt="" />
    	</body>		
    </head>
     
    </html>

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    bonjour,

    merci de votre réponse entre temps j'avais trouvé la réponse

    http://www.bluehostforum.com/showthr...hp-imagecreate

    encore une fois merci

    cordialement
    Qays

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

Discussions similaires

  1. Tracer une ligne avec la souris
    Par scoutiste dans le forum Débuter
    Réponses: 1
    Dernier message: 18/09/2013, 09h22
  2. Tracer une ligne avec la souris (AS3) ?
    Par leoncap dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 26/04/2010, 16h46
  3. Tracer une ligne horizontale avec GEF+Draw2d
    Par demcoul dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 29/01/2009, 18h52
  4. probleme pour tracer une ligne avec OleExcel
    Par blondelle dans le forum C++Builder
    Réponses: 6
    Dernier message: 18/08/2006, 19h10
  5. [FP]Tracer Une ligne avec Dev-pascal
    Par yffick dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 17/12/2003, 16h33

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