PHP图像文字绘制 坐标尺寸测量 PHP图像文字水平居中处理

PHP绘制文字到图像时,有时需要文字居中,这时候就要用到imagettfbbox函数.
示例:

//1.配置图片路径
$src = '图片本地路径';
//2.获取图片信息
$info = getimagesize($src);
//3.通过编号获取图像类型
$type = image_type_to_extension($info[2], false);
//4.在内存中创建和图像类型一样的图像
$fun = "imagecreatefrom" . $type;
//5.图片复制到内存
$image = $fun($src);
$font = "字体.ttf";
$content='我是文字内容';
$fontSize = 40;//像素字体大小
//设置字体颜色和透明度
$color = imagecolorallocatealpha($image, 0,0,0,0);
//计算文字边距坐标位置
$fontBox = imagettfbbox($fontSize, 0, $font, $content);
//文字水平居中处理 $info[0]是图像总宽度,通过getimagesize($src)函数获取图像宽度.
imagettftext($image, $fontSize, 0,ceil(($info[0]- $fontBox[2]) / 2), $merchnameHpx, $color, $font, $content);
$fun = "image" . $type;
//保存图片到本地
$resultImg_2 = uniqid() . 'bg_res.' . $type;
$fun($image, '../本地保存路径/' . $resultImg_2);
/*销毁图片*/
imagedestroy($image);

imagettfbbox — 取得使用 TrueType 字体的文本的范围

参数说明 ¶
imagettfbbox ( float $size , float $angle , string $fontfile , string $text ) : array
本函数计算并返回一个包围着 TrueType 文本范围的虚拟方框的像素大小。

size
像素单位的字体大小。
angle
text 将被度量的角度大小。
fontfile
TrueType 字体文件的文件名(可以是 URL)。根据 PHP 所使用的 GD 库版本,可能尝试搜索那些不是以 ‘/’ 开头的文件名并加上 ‘.ttf’ 的后缀并搜索库定义的字体路径。
text
要度量的字符串。


返回值
imagettfbbox() 返回一个含有 8 个单元的数组表示了文本外框的四个角:
0 左下角 X 位置
1 左下角 Y 位置
2 右下角 X 位置
3 右下角 Y 位置
4 右上角 X 位置
5 右上角 Y 位置
6 左上角 X 位置
7 左上角 Y 位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值