首页 > 开发 > PHP > 正文

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

2024-05-04 22:17:27
字体:
来源:转载
供稿:网友

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

代码如下:
bool imagestring(resource $image,int $font,int $x ,int $y,string $s,int $color)              //水平地画一行字符串
bool imagestringup(resource $image,int $font,int $x ,int $y,string $s,int $color)                 //垂直地画一行字符串
bool imagechar(resource $image,int $font,int $x ,int $y,char $c,int $color)                //水平地画一个字符
bool imagecharup(resource $image,int $font,int $x ,int $y,char $c,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, 255); //设置画布的背景为白色
$black = imagecolorallocate($im, 0, 0, 0); //设置一个颜色变量为黑色
 
$string = "LAMPBrother"; //在图像中输出的字符
 
imagestring($im, 3, 28, 70, $string, $black); //水平的将字符串输出到图像中
imagestringup($im, 3, 59, 115, $string, $black); //垂直由下而上输到图像中
for($i=0,$j=strlen($string);$i<strlen($string);$i++,$j--){ //循环单个字符输出到图像中
imagechar($im, 3, 10*($i+1),10*($j+2),$string[$i],$black); //向下倾斜输出每个字符
imagecharup($im, 3, 10*($i+1),10*($j+2),$string[$i],$black); //向上倾斜输出每个字符
}
 
header('Content-type:image/png');
imagepng($im);
?>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表