我正在尝试在PHP中创建一个垂直按钮,但我有定位问题,当我创建一个200px高度和40px宽度的PNG时,我想将文本放到该图像的中心。文本很长会动态变化
这是我的代码的一部分
$image = imagecreate($this->width , $this->height);
$background = ImageColorAllocate($image, $this->bg_red, $this->bg_grn, $this->bg_blu);
$foreground = ImageColorAllocate($image, $this->red, $this->grn, $this->blu);
if ($this->transparent) ImageColorTransparent($image, $background);
ImageInterlace($image, false);
// render the image
ImageTTFText($image, $this->size, $this->rot, $offset_x, $offset_y, $foreground, $this->font, $this->msg);
如何计算$offset_x
和$offset_y
?
答案 0 :(得分:1)
正如您在the documentation of imagettftext
function中看到的那样,
返回一个包含8个元素的数组 代表四点制作 文本的边界框。的顺序 点是左下,右下, 右上角,左上角。要点 无论如何都与文本有关 角度,所以“左上角”意味着 你看到时左上角 文本水平。返回FALSE 出错了。
因此,您可以先在另一个图像上绘制文字,只是为了查看尺寸,然后计算按钮所需的高度。