function ImageFTCenter($image, $size, $angle, $font, $text, $extrainfo = array()) { // find the size of the image $xi = ImageSX($image); $yi = ImageSY($image); // find the size of the text $box = ImageFTBBox($size, $angle, $font, $text, $extrainfo); $xr = abs(max($box[2], $box[4])); $yr = abs(max($box[5], $box[7])); // compute centering $x = intval(($xi - $xr) / 2); $y = intval(($yi + $yr) / 2); return array($x, $y); }
<?php // find the size of the text $box = ImageFTBBox($size, $angle, $font, $text); $xr = abs(max($box[2], $box[4])); $yr = abs(max($box[5], $box[7]));
<?php $cwd = dirname(__FILE__); $font = "{$cwd}/Tuffy.ttf"; $box = ImageFTBBox(14, 0, $font, "Text without line-break"); //echo 'Top without line-break: ' . $box[7] . "\n"; $without_line_break = $box[7]; $box = ImageFTBBox(14, 0, $font, "Text with\nline-break\none more"); //echo 'Top with line-break: ' . $box[7] . "\n"; $with_line_break = $box[7]; var_dump($without_line_break); var_dump($with_line_break); if ($with_line_break == $without_line_break) { echo "with line break == without line break" . PHP_EOL; } else { echo "with line break != without line break" . PHP_EOL; }