首页 > php教程 > php手册 > 正文

使用PHP3建立动态图象

php中文网
发布: 2016-06-21 09:02:07
原创
1167人浏览过

 

大多数人并不了解php3也可以处理非HTML类型的数据,例如图象,我们可以用它来建立条型、柱状、饼图来反应数据库的数据,我们也可以用PHP3来建立好看的图形按纽。 大多数图形按是用图象编辑工具完成的,对于对图象无经验的程序员来说,这可是一件苦差事,在建立一个站点的时候,按的风格大多是统一的,区别在于按上的字,为了解除苦恼,我们可以使用TTF字体和PHP3的图形函数库建立一个按函数,需要按的时候调用一下即可,下面就是程序button.php3

本函数传递两个参数,$s是字体大小,$text是字,如有空格用+号代替


Header( "Content-type: image/gif");
//
缺省字体大小,未设的话为11
if(!isset($s)) $s=11;
/*
计算ttf文字text所占区域
函数imagettfbbox(字体大小,旋转角度,字体路径,)
传回一个数组,有八个数组元素
size[0]=
左下X坐标
size[1]=
左下Y坐标
size[2]=
右下X坐标
size[3]=
右下Y坐标
size[4]=
右上X坐标
size[5]=
右上Y坐标
size[4]=
左上X坐标
size[5]=
左上Y坐标
*/
$size = imagettfbbox($s,0, "/fonts/TIMES.TTF",$text);
//
取字串的长度和高度绝对值,如是doubleabs后还是double,其它abs后变成int类型
$dx = abs($size[2]-$size[0]);
$dy = abs($size[5]-$size[3]);
//
为上下左右留出各4个象素左右的空隙,加上一个象素的阴影,共4*2+1=9
$xpad=9;
$ypad=9;
//
建立图象区域
$im = imagecreate($dx+$xpad,$dy+$ypad);
//
设置颜色ImageColorAllocate(图象句柄,red,green,blue)三原色
$blue = ImageColorAllocate($im, 0x2c,0x6D,0xAF);
$black = ImageColorAllocate($im, 0,0,0);
$white = ImageColorAllocate($im, 255,255,255);
//
绘制矩形ImageRectangle(图象句柄,左上X,左上Y,右下X,右下Y,颜色)
//
绘出阴影
ImageRectangle($im,1,1,$dx+$xpad,$dy+$ypad,$black); ImageRectangle($im,0,0,$dx+$xpad-1,$dy+$ypad-1,$white); ImageRectangle($im,1,1,$dx+$xpad-1,$dy+$ypad-1,$blue);
//
写字体到图象
//ImageTTFText(
图象句柄,字体大小,旋转角度,字左上X,字左上Y,颜色,字体路径,字)
//
绘出阴影
ImageTTFText($im, $s, 0, (int)($xpad/2)+1, $dy+(int)($ypad/2), $black, "/fonts/TIMES.TTF", $text);
ImageTTFText($im, $s, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $white, "/fonts/TIMES.TTF", $text);
//
转化为gif
ImageGif($im);
ImageDestroy($im);
?>

注意:不要在这个文件中包含任何HTML的代码,同时在 ?>之间也不能有空行,否则程序将无法正常运行,本函数最终将建立一副图象

 

WeShop唯象
WeShop唯象

WeShop唯象是国内首款AI商拍工具,专注电商产品图片的智能生成。

WeShop唯象 113
查看详情 WeShop唯象



PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号