ICANN认证国际域名顶级注册机构
东莞网站建设首页 域名主机 网站建设网页设计 google推广,百度推广,3721推广,yahoo推广 东莞广告设计,广告公司 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 网站建设的知识 腾达网络,上网帮助中心, 东莞网络公司腾达
建站必读


 
 
当前位置:首页 -> 建站必读 -> PHP技术
说说PHP作图(二)
    上次说了一种简单的回避GD的作图方法,而后又用GD作了最简单的一幅“图”——直线。

这次我就接着画直线向下说。上次代码中详细解释过的部分,这次不再赘述。



<?

  Header("Content-type: image/png");

  $im = ImageCreate (200, 100);

  $col_black = ImageColorAllocate($im, 0,0,0);

  $col_orn = ImageColorAllocate($im, 255,192,0);

  // 今天用橘色吧。

  // 跟 imageline 函数完全相同的用法,

  ImageDashedLine($im,0,100,199,100,$col_orn);

  // 这样就画了一条虚线。

  

  // 下面我们来做个试验。用以说明一个问题。

  $col_yel = ImageColorAllocate($im, 255,255,0);

  // 黄色。

  ImageLine($im,0,99,199,99,$col_yel);

  // 在图象的最下沿画了一条黄色的线。

  ImageLine($im,200,0,200,100,$col_orn);

  // 试图在图象最右沿画一条澄色的线,结果什么也没有。

  // 这表明,宽200,高100的图象,其坐标的范围是(0,0)到(199,99)。

  

  ImagePNG($im);

  ImageDestroy($im);

  // 这一段先结束吧。

?>





    接下来这个效果就爽了!我也是现学现卖。PHP4.0.6以上增加了这个用法——可以用交替的

颜色画线!示例如下:



<?

  Header("Content-type: image/png");

  $im = ImageCreate (200, 100);

  $col_black = ImageColorAllocate($im, 0,0,0);

  $col_orn = ImageColorAllocate($im, 255,192,0);

  $col_red = ImageColorAllocate($im, 255,0,0);



  $style=array($col_red,$col_red,$col_black,$col_orn,$col_orn,$col_orn,$col_black);

  ImageSetStyle($im, $style);

  ImageLine($im, 0, 50, 199, 50, IMG_COLOR_STYLED);



  ImagePNG($im);

  ImageDestroy($im);

?>



看看效果吧。



    其中我用空行分割开的那三行,说明一下。定义了一个数组 $style,它的成员是一系列的颜色;

然后执行了一个函数,而后用 IMG_COLOR_STYLED “颜色”画出来的是这么神奇的“直线”——

红色、黑色、橙色交替的效果。仔细看一下你就会发现,红、黑、橙交替的顺序,就是我们定义的

$style数组成员的序列:红、红、黑、橙、橙、橙、黑,然后周而复始……

    看明白了吗?注意,这个函数在PHP4.0.6以后才支持。







    有了我详细讲解的画线的基础,我想把画其他几何图形的函数一笔代过。需要提示大家的是,无论

画哪种几何图形,无非是抓住这种图形的几个要素。先不算颜色,各种图形的要素如下:



点,两个要素:横坐标、纵坐标



矩形,四个要素:左上角、右下角的横、纵坐标



弧,这样理解:弧可以包括圆弧、椭圆弧;画圆弧画他360度就可以成一个圆,画椭圆弧画他360度也就画

              成一个椭圆;所以这个弧的要素有六:中心点横、纵坐标,横轴长、纵轴长、弧的始、终点。



看下面这段例子。



<?

  Header("Content-type: image/png");

  $im = ImageCreate (200, 100);

  $col_blk = ImageColorAllocate($im, 0,0,0);

  $col_orn = ImageColorAllocate($im, 255,192,0);

  $col_red = ImageColorAllocate($im, 255,0,0);

  $col_grn = ImageColorAllocate($im, 0,255,0);

  $col_blu = ImageColorAllocate($im, 0,0,255);

  

  ImageSetPixel($im,20,10,$col_orn);

  // 小小一个点,不知道能否看得见?

  ImageRectangle($im,25,20,95,55,$col_blu);

  // 蓝色的矩形。

  ImageArc($im,20,85,50,40,225,360,$col_grn);

  // 绿色的椭圆弧,中心在(20,85),横轴50,纵轴40,225度至360度。

  // 由此可见,这里的圆弧始、终点是以角度计量,

  // 是以水平向右的方向为0度,顺时针计算的。

  ImageArc($im,160,60,40,40,0,360,$col_orn);

  // 橙色的整圆。只要横轴长与纵轴长相等,就是正圆。

  // 上高中我们就学过:圆是椭圆的特
 
 

后十篇文章:
  • 判断Cookies是否处于开启状态

  • 有关重复记录的删除(SQL SERVER)

  • 动态JS程序二例

  • 在RedHat 6.2上运行SSH2

  • 浅谈PHP语法(四)

  • Windows 2000 下 RDS 配置详解

  • 面对对象的思考(二)

  • 用Java实现可保存状态的数据库生成XML树(7)

  • 发现一个发送mime邮件的类。

  • PEAR MDB 数据库抽象层 —— 一次编写—随处运行

  •  
    东莞域名注册 | 东莞虚拟主机 | 东莞网站建设网页设计 | 网站推广 | 东莞广告设计 | 帮助中心 | 软件中心 | 关于腾达
    东莞市腾达信息工程有限公司      本站关键词: 东莞网站建设,东莞网页设计,东莞网络公司
    地址:东莞市新城市中心区第一国际B座610    邮编:523007
    电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
    © 2002~2005 腾达网络   版权所有
    本页相关主题:
    -东莞海报设计    东莞PHP主机    东莞动态空间