/**
* 测试gd的使用方法
*
*/
//新建图象
$pic=imagecreate(240,80);
//定义颜色
//因为imagecolorallocate在第一次调用时,会被当作背景色填充,所以随后用imagecolortransparent设为透明色
$tranColor = imagecolorallocate($pic,255,255,255);
//下面两句作用是一样的,在php手册上并没说可以用NULL,无意中发现的
$tran = imagecolortransparent($pic,$tranColor);
$tran = imagecolortransparent($pic,NULL);
//white虽然定义和透明色相同,但是是不同的索引
$white=imagecolorallocate($pic,255,255,255);
$green=imagecolorallocate($pic,0,255,0);
$red=imagecolorallocate($pic,255,0,0);
//定义字体
$font="c:/windows/fonts/simhei.ttf";
//定义输出字体串,要UTF-8的,不过有的字体要转成BIG5
$str = "测试GD";
$str = iconv("gb2312", "UTF-8" , $str);
//先画两个矩形看看
imagerectangle($pic, 0, 0, 200, 50, $red);
//这个函数是填充内部的.white这儿可以看出,虽然RGB和透明色相同,但是依然可以正常显示
imagefilledrectangle($pic, 10, 60, 120,75, $white);
//写 TTF 文字到图中
imagettftext($pic,30,15,10,45,$green,$font,$str);
//复制一个小图来
$mini= imagecreatefromgif("mini.gif");
imagecopy($pic , $mini ,80, 40, 0, 0, 36 ,50);
//旋转图像,其中参数1是忽略透明,在php5.1以上版本才可用,不如此设置的话就会变成白背景了
$pic = imagerotate($pic , 30 , $tran, 1);
//定义输出为图像类型
header("content-type:image/gif");
//建立 GIF 图型
imagegif($pic);
//结束图形,释放内存空间
imagedestroy($pic);
imagedestroy($mini);
?>
阅读(1687) | 评论(0) | 转发(0) |