使用PHP5创建图形的巧妙方法四,使用PHP5创建图形的巧妙方法四
【 tulaoshi.com - PHP 】
图 8 显示了更新后的 GraphicsEnvironment 类,它具有几个成员变量,用来存储 viewport 的起点和终点坐标:vsx,vsy 和 vex,vey。图形对象并不需要进行修改。
  图 8. 具有灵活 viewport 规范的图形环境
  清单 9 显示了更新后的 GraphicsEnvironment 代码。
  清单 9. 更新后的 GraphicsEnvironment 代码
         
 class GraphicsEnvironment {   public $vsx;   public $vsy;   public $vex;   public $vey;   public $width;   public $height;   public $gdo;   public $colors = array();   public function __construct( $width, $height,     $vsx, $vsy, $vex, $vey )   {     $this-vsx = $vsx;     $this-vsy = $vsy;     $this-vex = $vex;     $this-vey = $vey;     $this-width = $width;     $this-height = $height;     $this-gdo = imagecreatetruecolor( $width, $height );     $this-addColor( "white", 255, 255, 255 );     imagefilledrectangle( $this-gdo, 0, 0,       $width, $height,       $this-getColor( "white" ) );   }   public function width() { return $this-width; }   public function height() { return $this-height; }   public function addColor( $name, $r, $g, $b )   {     $this-colors[ $name ] = imagecolorallocate(       $this-gdo,       $r, $g, $b );   }   public function getGraphicObject()   {     return $this-gdo;   }   public function getColor( $name )   {     return $this-colors[ $name ];   }   public function saveAsPng( $filename )   {     imagepng( $this-gdo, $filename );   }      public function tx( $x )   {     $r = $this-width / ( $this-vex - $this-vsx );     return ( $x - $this-vsx ) * $r;   }       public function ty( $y )   {     $r = $this-height / ( $this-vey - $this-vsy );     return ( $y - $this-vsy ) * $r;   } }                         <?php require_once( "glib.php" ); $ge = new GraphicsEnvironment( 400, 400, -1000, -1000, 1000, 1000 ); $ge-addColor( "black", 0, 0, 0 ); $ge-addColor( "red", 255, 0, 0 ); $ge-addColor( "green", 0, 255, 0 ); $ge-addColor( "blue", 0, 0, 255 ); $g1 = new Group( 0 ); $g1-add( new Oval( 200, "red", -800, -800, 0, 0 ) ); $g1-add( new Rectangle( 100, "black", -400, -400, 900, 900 ) ); $g1-render( $ge ); $ge-saveAsPng( "test.png" ); ?

$ge = new GraphicsEnvironment( 400, 200, -1000, -1000, 1000, 1000 );
来源:http://www.tulaoshi.com/n/20160129/1490368.html
看过《使用PHP5创建图形的巧妙方法四》的人还看了以下文章 更多>>