私はそれらを合わせた画像と中央に複数行のテキストを印刷しようとしていると、複数行のテキストを揃えます。は、センターでは、GDとPHP
すなわち
これは今のところ、テキスト
の
文字列で、私は、文字列全体のために左の位置を持っています。それを稼働させるためのショートカット?私はそれは、その大きなttfboxの内側に新しいテキストを中央揃え、その後、改行で爆発、文字列全体にgetttfboxでなければならないかもしれないと思います。それはお尻の痛みです...
EDIT:解決策を考え出した:
foreach ($strings as $index => $string) {
$parts = explode ("\n", $string['string']);
if (count ($parts) > 1) {
$bounds = imagettfbbox (intval($string['fontsize']), 0, $font, $string['string']);
$width = $bounds[2] - $bounds[0];
$height = $bounds[3] - $bounds[5];
$line_height = $height/count ($parts);
foreach ($parts as $index => $part) {
$bounds = imagettfbbox (intval($string['fontsize']), 0, $font, $part);
$new_width = $bounds[2] - $bounds[0];
$diff = ($width - $new_width)/2;
$new_left = $string['left'] + $diff;
$new_string = $string;
$new_string['left'] = $new_left;
$new_string['top'] = $string['top'] + ($index * $line_height);
$new_string['string'] = $part;
$new_strings[] = $new_string;
}
}
}
if ($new_strings)
$strings = $new_strings;
をこの場合、各$文字列がどのように、どのような印刷するに関するいくつかの情報を持つ配列です。 誰かを助けることを願っています。ここで
あなたの質問にあなたの答えを編集する代わりに、新しい答えを書く(そしてあなたのために働いたソリューションをthatsの場合は、それを受け入れる)しないでください。 – darthmaim