0
PHP GDイメージングライブラリを使用して、画像にテキスト(2-3桁の数字からなる)を正常に出力しました。次に、このテキストを配置し、イメージに含まれるラベルの下に配置したいと思います。画像を見て位置の値をハードコードすることで作業していますが、コードが実行されるたびに数値が異なり、同じ長さにならない可能性があるため理想的ではありません。ここでPHP GDを使用してラベルの中心に位置する可変テキストテキスト
は、私がこれまで持っているものの簡易版である:
<?php
$font = 'arial.ttf';
$fontsize = 60;
$value1 = $_GET['r'];
$value2 = $_GET['rm'];
$value3 = $_GET['w'];
$image = imagecreatefrompng('image.png');
$fontcolor = imagecolorallocate($image, 255, 255, 255);
$x1 = 80;
$x2 = 160;
$x3 = 280;
$y = 1050;
imagettftext($image, $fontsize, 0, $x1, $y, $fontcolor, $font, $value1);
imagettftext($image, $fontsize, 0, $x2, $y, $fontcolor, $font, $value2);
imagettftext($image, $fontsize, 0, $x3, $y, $fontcolor, $font, $value3);
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
私はimagettfbboxを使用する必要があると信じているが、どのように私は、画像にラベルに従ってボックスを配置するのですか?
番号の長さに関係なく、各ラベルのプライマリポジションを(移動しないように)設定できますか?たとえば、4桁の数字が入力された場合、ラベルの中央に2桁の数字が表示されます。
http://php.net/imagettfbbox - 計算ボックスのサイズを取得するには、計算位置を使用します。 –