快速业务通道

说说PHP作图(二)

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-22
圆。只要横轴长与纵轴长相等,就是正圆。
 // 上高中我们就学过:圆是椭圆的特例嘛!
 // 最后再画一段圆弧。圆心能否在图象以外?
 ImageArc($im,160,140,240,240,0,360,$col_red);
 // 可以!
 ImagePNG($im);
 ImageDestroy($im);
?>

作图当然免不了要把某一区域涂成某种颜色。GD有三种着色方式,一种是矩形区域着色,一种是指定的点所处的封闭区域着色,另一种是指定的颜色所包围的区域着色。看以下的例子:

<?
 Header("Content-type: image/png");
 $im = ImageCreate (200, 100);
 $col_blk = ImageColorAllocate($im, 0,0,0);
 $col_orn = ImageColorAllocate($im, 255,192,0);
 $col_yel = ImageColorAllocate($im, 255,255,0);
 $col_red = ImageColorAllocate($im, 255,0,0);
 $col_grn = ImageColorAllocate($im, 0,255,0);
 $col_blu = ImageColorAllocate($im, 0,0,255);
 ImageFilledRectangle($im,20,10,100,50,$col_blu);
 ImageFilledRectangle($im,5,40,50,90,$col_red);
 ImageFilledRectangle($im,40,80,100,95,$col_orn);
 ImageFilledRectangle($im,90,35,110,90,$col_yel);
 // 以上是第一种着色。直接绘制矩形。
 // 我故意用四个不同颜色的矩形围起一小块区域,用以说明第二种着色。
 ImagePNG($im);
 ImageDestroy($im);
 // 看一下效果。
?>

接着:

<?
 Header("Content-type: image/png");
 $im = ImageCreate (200, 100);
 $col_blk = ImageColorAllocate($im, 0,0,0);
 $col_orn = ImageColorAllocate($im, 255,192,0);
 $col_yel = ImageColorAllocate($im, 255,255,0);
 $col_red = ImageColorAllocate($im, 255,0,0);
 $col_grn = ImageColorAllocate($im, 0,255,0);
 $col_blu = ImageColorAllocate($im, 0,0,255);
 ImageFilledRectangle($im,20,10,100,50,$col_blu);
 ImageFilledRectangle($im,5,40,50,90,$col_red);
 ImageFilledRectangle($im,40,80,100,95,$col_orn);
 ImageFilledRectangle($im,90,35,110,90,$col_yel);
 // 以上是第一种着色。直接绘制矩形。
 // 我故意用四个不同颜色的矩形围起一小块区域,
>  // 用以说明第二种着色。
 ImageFill($im,70,70,$col_grn);
 // 这是第二种着色。
 ImageRectangle($im,120,40,190,90,$col_grn);
 // 暂且画一个矩形来做框吧。事实上任何样子的边界都可以做框。
 ImageFilltoBorder($im,130,50,$col_grn,$col_orn);
 // 把绿色矩形框内涂成橙色。
 // 只要指定的点位于这个“框”的范围内即可,与该点在区域内的位置无关。
 // 这个函数其实是这样工作的:
 // 从指定的点开始,向外,寻找指定颜色的边界,如果找到,则停止,找不到,就把途经的点涂成需要的颜色。
 ImagePNG($im);
 ImageDestroy($im);
 // 看一下效果。
 // 现在我们作出的图已经是花花绿绿了,可是在浏览器里,图片上,右键->属性:只有 214 个字节!
?>

这一次说到这里吧先。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号