PHP怎么获得中英混合字符串宽度 所占的像素数啊?

时间:2023-01-07 07:44:41
最近在学习图片生成水印的问题,我有一个这样的字符串:
$waterstring="Created By 程序员 Ervin Jiang";
在将字符串写入图片前 我调用imagefilledrectangle($nimage,1,$image_size[1]-15,160,$image_size[1],$red);在这个字符串下面填充颜色为红色,以与原来的图片相区别。
其中矩形右下角的X2,Y2,即$image_size[1]-15,160两个参数我是写死的,这样不好
但是我要怎么获得这串中英混合字符串宽度所占的像素数呢?这样就可以避免写死了啊
请高人指教了 谢谢 

6 个解决方案

#1


用 imagettfbbox 获取四个顶点的坐标

#2


请问用imagettfbbox 获取什么的四个顶点的坐标啊,这代码如何来写,能给个例子参考下吗?谢谢了啊 

#3


$fontarea = ImageTTFBBox(20,0,"fonts/ARIAL.TTF","I am NUMBER ONE !!");
出现错误:
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in C:\wamp\www\myupload\up.php on line 55
请指教 大概是什么原因啊?

#4


不是大概
错误信息明确的告诉你 Invalid font filename 无效的字体文件名

#5


imagettfbbox 获取的是四个坐标,字体路径应该是物理路径,也可以是URL路径,但是必须写全
另外函数名不要那么叼,应该全部小写,说不定哪天php版本就更新到函数名区分大小写了

#6


$fontarea = ImageTTFBBox(20,0,"fonts/ARIAL.TTF","I am NUMBER ONE !!");
fonts/ARIAL.TTF 这个文件不存在或路径不对了。

如果你的php在当前目录,那么目录结构应该是

test.php
fonts/ARIAL.TTF

#1


用 imagettfbbox 获取四个顶点的坐标

#2


请问用imagettfbbox 获取什么的四个顶点的坐标啊,这代码如何来写,能给个例子参考下吗?谢谢了啊 

#3


$fontarea = ImageTTFBBox(20,0,"fonts/ARIAL.TTF","I am NUMBER ONE !!");
出现错误:
Warning: imagettfbbox() [function.imagettfbbox]: Invalid font filename in C:\wamp\www\myupload\up.php on line 55
请指教 大概是什么原因啊?

#4


不是大概
错误信息明确的告诉你 Invalid font filename 无效的字体文件名

#5


imagettfbbox 获取的是四个坐标,字体路径应该是物理路径,也可以是URL路径,但是必须写全
另外函数名不要那么叼,应该全部小写,说不定哪天php版本就更新到函数名区分大小写了

#6


$fontarea = ImageTTFBBox(20,0,"fonts/ARIAL.TTF","I am NUMBER ONE !!");
fonts/ARIAL.TTF 这个文件不存在或路径不对了。

如果你的php在当前目录,那么目录结构应该是

test.php
fonts/ARIAL.TTF