[ Index ]
 

Code source de jpGraph 2.2

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/src/ -> jpgraph_canvas.php (source)

   1  <?php
   2  /*=======================================================================
   3  // File:     JPGRAPH_CANVAS.PHP
   4  // Description:    Canvas drawing extension for JpGraph
   5  // Created:     2001-01-08
   6  // Ver:        $Id: jpgraph_canvas.php 781 2006-10-08 08:07:47Z ljp $
   7  //
   8  // Copyright (c) Aditus Consulting. All rights reserved.
   9  //========================================================================
  10  */
  11  
  12  //===================================================
  13  // CLASS CanvasGraph
  14  // Description: Creates a simple canvas graph which
  15  // might be used together with the basic Image drawing
  16  // primitives. Useful to auickoly produce some arbitrary
  17  // graphic which benefits from all the functionality in the
  18  // graph liek caching for example. 
  19  //===================================================
  20  class CanvasGraph extends Graph {
  21  //---------------
  22  // CONSTRUCTOR
  23      function CanvasGraph($aWidth=300,$aHeight=200,$aCachedName="",$timeout=0,$inline=1) {
  24      $this->Graph($aWidth,$aHeight,$aCachedName,$timeout,$inline);
  25      }
  26  
  27  //---------------
  28  // PUBLIC METHODS    
  29  
  30      function InitFrame() {
  31      $this->StrokePlotArea();
  32      }
  33  
  34      // Method description
  35      function Stroke($aStrokeFileName="") {
  36      if( $this->texts != null ) {
  37          for($i=0; $i < count($this->texts); ++$i) {
  38          $this->texts[$i]->Stroke($this->img);
  39          }
  40      }        
  41      if( $this->iTables !== null ) {
  42          for($i=0; $i < count($this->iTables); ++$i) {
  43          $this->iTables[$i]->Stroke($this->img);
  44          }   
  45      }
  46      $this->StrokeTitles();
  47  
  48      // If the filename is the predefined value = '_csim_special_'
  49      // we assume that the call to stroke only needs to do enough
  50      // to correctly generate the CSIM maps.
  51      // We use this variable to skip things we don't strictly need
  52      // to do to generate the image map to improve performance
  53      // a best we can. Therefor you will see a lot of tests !$_csim in the
  54      // code below.
  55      $_csim = ($aStrokeFileName===_CSIM_SPECIALFILE);
  56  
  57      // We need to know if we have stroked the plot in the
  58      // GetCSIMareas. Otherwise the CSIM hasn't been generated
  59      // and in the case of GetCSIM called before stroke to generate
  60      // CSIM without storing an image to disk GetCSIM must call Stroke.
  61      $this->iHasStroked = true;
  62  
  63      if( !$_csim ) {
  64  
  65          // Should we do any final image transformation
  66          if( $this->iImgTrans ) {
  67          if( !class_exists('ImgTrans') ) {
  68              require_once ('jpgraph_imgtrans.php');
  69          }
  70          
  71          $tform = new ImgTrans($this->img->img);
  72          $this->img->img = $tform->Skew3D($this->iImgTransHorizon,$this->iImgTransSkewDist,
  73                           $this->iImgTransDirection,$this->iImgTransHighQ,
  74                           $this->iImgTransMinSize,$this->iImgTransFillColor,
  75                           $this->iImgTransBorder);
  76          }
  77      
  78  
  79          // If the filename is given as the special _IMG_HANDLER
  80          // then the image handler is returned and the image is NOT
  81          // streamed back
  82          if( $aStrokeFileName == _IMG_HANDLER ) {
  83          return $this->img->img;
  84          }
  85          else {
  86          // Finally stream the generated picture                    
  87          $this->cache->PutAndStream($this->img,$this->cache_name,$this->inline,$aStrokeFileName);
  88          return true;
  89          }
  90      }
  91      }
  92  } // Class
  93  
  94  /* EOF */
  95  ?>


Généré le : Sat Nov 24 09:27:55 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics