| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • PHP与javascript对多项选…

  • HTML之影像地图

  • 巧用CSS制作图象特效

  • CSS2盒模型的3D示意图

  • CSS滤镜之FlipH、FlipV属性

  • CSS滤镜之alpha属性

  • CSS滤镜:alpha属性

  • CSS滤镜:FlipH、FlipV属性

  • 巧用CSS制作图象特效

  • CSS2盒模型的3D示意图

  • Q
    您现在的位置: 我是IT人 >> 网站制作 >> php >> 文章正文
    说说PHP作图         
    说说PHP作图
    作者:网络 文章来源:转载 点击数: 更新时间:2005-8-13
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:
      $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);
      // 橙色的整圆。只要横轴长与纵轴长相等,就是正圆。
      // 上高中我们就学过:圆是椭圆的特例嘛!
      // 最后再画一段圆弧。圆心能否在图象以外?
      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 个字节!
      
    ?>
        上次说到用GD作各种几何图形,以及填充颜色。其中故意把这样一个较复杂的情况
    留到后面,这就是任意多边形和任意多边形的填充颜色。

    <?
      Header("Content-type: image/png");
      $im = ImageCreate (200, 100);
      $col_blk = ImageColorAllocate($im, 0,0,0);
      $col_grn = ImageColorAllocate($im, 0,255,0);
      
      $parray = array(40,10,60,10,70,20,60,50,40,50,30,20);
      // 定义一个数组,12个成员是6个点的横纵坐标。
      ImagePolygon($im,$parray,6,$col_grn);
      // 这就是绘制任意多边形的函数,$parray是刚才定义的数组,
      // 6表示六个点。注意六个点连成的是六边形。
      // 不必人为地为了闭合图形而在最后增加一个与第一点相同的点。
      
      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)

    上一页  [1] [2] [3] [4] [5] [6] 下一页  

    文章录入:小秦    责任编辑:小秦 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |