博学而笃志 切问而近思 仁在其中
详情
说说PHP作图(三)
作者:Aliot     发布时间:2017-07-02     评论:0     阅读:0

说说PHP作图(三)

时间:2010-12-23

上次说到用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);
 $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);
 $parray = array(40,10,60,10,70,20,60,50,40,50,30,20);
 ImageFilledPolygon($im,$parray,6,$col_grn);
 ImagePNG($im);
 ImageDestroy($im); 
?>

嗯。下面我们可以在图象上写字了。不过,先别高兴,要想写汉字还得费一些麻烦。这个以后再逐渐解释。先看看怎么简单地写西文字符吧。

 Header("Content-type: image/png");
 $im = ImageCreate (200, 250);
 $col_blk = ImageColorAllocate($im, 0,0,0);
 $col_orn = ImageColorAllocate($im, 255,192,0);
 $str="This is a test.";
 ImageString($im,1,10,10,$str,$col_orn);
 ImageString($im,2,10,30,$str,$col_orn);
 ImageString($im,3,10,60,$str,$col_orn);
 ImageString($im,4,10,100,$str,$col_orn);
 ImageString($im,5,10,150,$str,$col_orn);
 // 这里连续五次调用ImageString,在不同位置,
 // 分别用从小到大的字型输出了字符串 $str。
 // ImageString 函数只支持五种字型(1~5)
 ImagePNG($im);
 ImageDestroy($im); 
?>

再看:

 //Header("Content-type: image/png");
 $im = ImageCreate (200, 250);
 $col_blk = ImageColorAllocate($im, 0,0,0);
 $col_orn = ImageColorAllocate($im, 255,192,0);
 $str="This is a test."; 
 ImageStringUp($im,1,10,180,$str,$col_orn);
 ImageStringUp($im,2,20,180,$str,$col_orn);
 ImageStringUp($im,3,40,180,$str,$col_orn);
 ImageStringUp($im,4,70,180,$str,$col_orn);
 ImageStringUp($im,5,110,180,$str,$col_orn);
 // 函数名换成了 ImageStringUp,用法不变。
 // 是输出竖排的文字。
 ImagePNG($im);
 ImageDestroy($im); 
?>


相关文章
loading......
最新动态
所有评论

loading......

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册