博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

PHP 画图 一个小程序

Posted on 2010-03-05 17:58  峰雪  阅读(1351)  评论(0编辑  收藏  举报

一、直接创建图片

 

程序代码
1 <?php
2  $width=289;//图片宽度
3  $height=25;//图片高度
4  $H1=12;
5 @header("Content-Type:image/png");
6  $im =imagecreate($width,$height);//创建图片
7 $grey =imagecolorallocate($im,204,204,204);//创建灰色
8 $yellow=imagecolorallocate($im,203,255,0);//创建黄色
9 $red =imagecolorallocate($im,255,0,0);//创建黄色
10 $black =imagecolorallocate($im,0,0,0);//创建字体颜色黑色
11 $white =imagecolorallocate($im,255,255,255);//创建颜色白色
12 $fontfile = 'arial.ttf';
13 $size=10;//字体大小
14 $angle=0;//字体旋转角度
15 $x=0;//第一个字左下角的X坐标位置
16 $y=4;//第一个字左下解的Y坐标位置
17 $text='-24hr -18hr -12hr -6hr now';
18 imagefilledrectangle($im,0,0,$width,$height,$white);//本函数将图片的封闭长方形区域着色。参数 x1、y1 及 x2、y2 分别为矩形对角线的坐标。参数 col 表示欲涂上的颜色。
19 imageline($im,0,0,$width,0,$black);
20 for($i=0;$i<28;$i++)
21 {
22 //imagestring($im,1,$i,0,"|",$red);//图片,字体,X轴,Y轴,内容,颜色
23 imageline($im,$i,1,$i,$H1,$red);
24 }
25 imageline($im,0,0,$width,0,$black);//top边框
26 imageline($im,$width-1,0,$width-1,$H1,$black);//right边框
27 imageline($im,0,$H1,290,$H1,$black);//bottom边框
28 imageline($im,0,0,0,$H1,$black);//left边框
29 //画上刻度
30 for($i=0;$i<5;$i++)
31 {
32 imageline($im,$i*72,$H1,$i*72,$H1+2,$black);
33 }
34 //imageline($im,0,0,290,1,$fontcolor);//图片,开始X轴,开始Y轴,结束X轴,结束Y轴,颜色
35
36
37 //$box=imagettfbbox($size,$angle,$fontfile,$text );//返回$text字串使用某种字体时,所需要占用的矩形区域的坐标数组,改数组有8个元素.(0,1)左下角,(2,3)右下角,(4,5)右上角,(6,7)左上角.
38 /*
39 0 左下角 X 位置
40 1 左下角 Y 位置
41 2 右下角 X 位置
42 3 右下角 Y 位置
43 4 右上角 X 位置
44 5 右上角 Y 位置
45 6 左上角 X 位置
46 7 左上角 Y 位置
47 */
48 //计算绘制文字所需的画布大小
49 //$bw = $box[2]-$box[0]; //宽度
50 //$bh = $box[5]-$box[1];//这2步计算出画布的宽度和高度
51 imagettftext($im,$size,$angle,0,24,$black,$fontfile,$text);//指定图片,$size文字大小,$angle文字旋转角度,注意($x,$y)是文串第一个字符的basepoint(约等于左下角的坐标),$fontfile使用的字体文件的路径位置,$text文字内容.
52 //imagerectangle($im,0,0,289,29,$black);//画边框
53 imagepng($im);
54 imagedestroy($im);
55 ?>

 

二、读取其他图片文件,再在读取的图片上作画

 

代码
1 <?php
2 $width=289;
3 $height=25;
4 $H1=11;
5 $im =imagecreatefrompng("1.php.png");
6 //$im =imagecreate($width,$height);//创建图片
7 $grey =imagecolorallocate($im,204,204,204);//创建灰色
8 $yellow=imagecolorallocate($im,203,255,0);//创建黄色
9 $red =imagecolorallocate($im,255,0,0);//创建黄色
10 $black =imagecolorallocate($im,0,0,0);//创建字体颜色黑色
11 $white =imagecolorallocate($im,255,255,255);//创建颜色白色
12
13 for($i=1;$i<73;$i++)
14 {
15 imageline($im,$i,1,$i,$H1,$red);
16 }
17 //输出图片
18 @header("Content-Type:image/png");
19 imagepng($im);
20 imagedestroy($im);
21 ?>