imagettftext 関数を使用して画像にテキストを書き込みますが、問題は x、y 位置を 0,0 に設定すると、画像の左上にテキストが書き込まれることです。
私の原点を左上にする方法はありますか??
imagettftext 関数を使用して画像にテキストを書き込みますが、問題は x、y 位置を 0,0 に設定すると、画像の左上にテキストが書き込まれることです。
私の原点を左上にする方法はありますか??
PHPマニュアルから:
x と y で指定された座標は、最初の文字の基点 (文字のほぼ左下隅) を定義します。これは、x と y が最初の文字の左上隅を定義する imagestring() とは異なります。たとえば、「左上」は 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 );