我正在使用 imagettftext 函数在我的图像上写入文本,但问题是当我将 x,y 位置设置为 0,0 时,它确实在图像的左上角写入文本。
有没有办法让我的原点左上角?
我正在使用 imagettftext 函数在我的图像上写入文本,但问题是当我将 x,y 位置设置为 0,0 时,它确实在图像的左上角写入文本。
有没有办法让我的原点左上角?
来自 PHP 手册:
x 和 y 给出的坐标将定义第一个字符的基点(大约是字符的左下角)。这与 imagestring() 不同,其中 x 和 y 定义第一个字符的左上角。例如,“左上角”是 0, 0。
因此,如果您想要左上角的原点,您可以使用imagestring()
或者您可以将字母高度与imagettftext()
函数的 y 点相加。
要获取字母的高度,您可以使用imagettfbbox()
以下函数:
$bbox = imagettfbbox ( $size , $angle , $fontfile , $text );
$y_offset = abs($bbox[7] - $bbox[1]);
imagettftext ( $image , $size , $angle , $x , $y + $y_offset , $color , $fontfile , $text );