正 文

使用PHP 5.0创建图形的巧妙方法


www.7dspace.com  更新日期:2006-1-13 1:25:50  七度空间


  Group 类的代码如清单 5 所示。

  清单 5. Group 类

function zsort( $a, $b )
{
  if ( $a->z() < $b->z() ) return -1;
  if ( $a->z() > $b->z() ) return 1;
  return 0;
}

class Group extends GraphicsObject
{
  private $z;
  protected $members = array();
  public function __construct( $z )
  {
    $this->z = $z;
  }
  public function add( $member )
  {
    $this->members []= $member;
  }
  public function render( $ge )
  {
    usort( $this->members, "zsort" );
    foreach( $this->members as $gobj )
    {
      $gobj->render( $ge );
    }
  }
  public function z() { return $this->z; }
}

  Group 对象的任务是保持一个对象数组,然后在画图时,逐个对对象zo进行排序和画图。

  更新后的测试代码如清单 6 所示。

  清单 6. 更新后的测试代码

<?php
require_once( "glib.php" );

$ge = new GraphicsEnvironment( 400, 400 );

$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", 50, 50, 150, 150 ) );  
$g1->add( new Rectangle( 100, "black", 100, 100, 300, 300 ) );

$g1->render( $ge );

$ge->saveAsPng( "test.png" );
?>

  现在所有的客户机需要做的是创建一个 Group 对象。它会处理排序和其他操作。

8页,页码:[1] [2] [3] [4] [5] [6] [7] [8] 

上一篇:把你的摄像头架到网上去
下一篇:照片处理:钻戒金属质感完美修复
标题:使用PHP 5.0创建图形的巧妙方法 作者:Jack Herrington 来源:ibm ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐