加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中创建图像并绘制文字的例子

发布时间:2020-12-13 02:11:02 所属栏目:PHP教程 来源:网络整理
导读:《PHP实战:PHP中创建图像并绘制文字的例子》要点: 本文介绍了PHP实战:PHP中创建图像并绘制文字的例子,希望对您有用。如果有疑问,可以联系我们。 在图像中显示的文字也需要按坐标位置画上去.在PHP中不仅支持比较多的字体库,而且提供了非常灵活的文字绘制

《PHP实战:PHP中创建图像并绘制文字的例子》要点:
本文介绍了PHP实战:PHP中创建图像并绘制文字的例子,希望对您有用。如果有疑问,可以联系我们。

在图像中显示的文字也需要按坐标位置画上去.在PHP中不仅支持比较多的字体库,而且提供了非常灵活的文字绘制方法.例如,在图中绘制缩放、倾斜、旋转的文字等.可以使用imageString()、imageStringUP()或imageChar()等函数使用的字体文字绘制到图像中.这些函数的原型如下所示:

代码如下:

bool imagestring(resource $image,int $font,int $x,int $y,string $s,int $color)????????????? //水平地画一行字符串
bool imagestringup(resource $image,int $color)???????????????? //垂直地画一行字符串
bool imagechar(resource $image,char $c,int $color)??????????????? //水平地画一个字符
bool imagecharup(resource $image,int $color)???????????????? //垂直地画一个字符

在上面列出来的四个函数中,前两个函数imageString()和imageStringUP()分别用来向图像中水平和垂直输出一行字符串,而后两个函数imageChar()和imageCharUP()分别用来向图像中水平和垂直输出一个字符.虽然这四个函数有所差异,但调用方式类似.它们都是在$image图像中绘制由第五个参数指定的字符,绘制的位置都是从坐标($x,$y)开始输出.如果是水平地面画一行字符串则是从左向右输出,而垂直地画一行字符串则是从下而上输出.这些函数都可以通过最后一个参数$color给出文字的颜色.第二个参数$font则给出了文字字体标识符,其值为整数1、2、3、4或5,则是使用内置的字体,数字越大则输出的文字尺寸就越大.下面是在一个图像中输出文字的示例:

代码如下:

<?php
$im = imagecreate(150,150);
?
$bg = imagecolorallocate($im,255,255); //设置画布的背景为白色
$black = imagecolorallocate($im,0); //设置一个颜色变量为黑色
?
$string = "LAMPBrother"; //在图像中输出的字符
?
imagestring($im,3,28,70,$string,$black); //水平的将字符串输出到图像中
imagestringup($im,59,115,$black); //垂直由下而上输到图像中
for($i=0,$j=strlen($string);$i<strlen($string);$i++,$j--){ //循环单个字符输出到图像中
imagechar($im,10*($i+1),10*($j+2),$string[$i],$black); //向下倾斜输出每个字符
imagecharup($im,$black); //向上倾斜输出每个字符
}
?
header('Content-type:image/png');
imagepng($im);
?>

PHP实战:PHP中创建图像并绘制文字的例子

通过上面介绍的四个函数输出内置的字体外,还可以使用imageTtfText()函数,输出一种可以缩放的与设备无关的TrueType字体.TrueType是用数学函数描述字体轮廓外形,即可以用做打印字体,又可以用作屏幕显示,各种操作系统都可以兼容这种字体.由于它是由指令对字形进行描述,因此它与分辨率无关,输出时总是依照打印机的分辨率输出.无论放大或是缩小,字体总是光滑的,不会有锯齿出现.例如在Windows系统中,字体库所在的文件夹C:WINDOWSFonts下,对TrueType字体都有标注,如simsun.ttf为TrueType字体中的“宋体”.imageTtfText()函数的原型如下所示:

代码如下:

array imagettftext(resource $image,float $size,float $angle,int $color,string $fontfile,string $text)

该函数需要多个参数,其中参数$image需要提供一个图像资源.参数$size用来设置字体大小,根据GD库版本不同,应该以像素大小指定(GD1)或点大小(GD2).参数$angle是角度制表示的角度,0o为从左向右读的文本,更高数值表示逆时针旋转.例如90o表示从下向上读的文本.并由($x,$y)两个参数所表示的坐标,定义了一个字符的基本点,大概是字符的左下角.而这和imagestring()函数有所不同,其($x,$y)坐标定义了第一个字符的左上角.参数$color指定颜色索引.使用负的颜色索引值具有关闭防锯齿的效果.参见$fontfile是想要使用的TrueType字体的路径.根据PHP所使用的GD库的不同,当fontfil没有以“/”开头时则“.ttf”将被加到文件名之后,并且会在库定义字体路径中尝试搜索该文件名.最后一个参数$text指定需要输出的文本字符串,可以包含十进制数字化字符表示(形式为:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读