我正在使用imagettftext函数在我的图像上写文字,但问题是当我设置x,y postion为0,0时,它会在图像的左上角写入文本。
有没有办法让我的原点在左上角?
答案 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 );