将imagemagick文本设置为中间

时间:2017-02-23 20:00:59

标签: php imagemagick image-manipulation

我使用imagemagick在图像上放置了一些文字,但是我正在努力寻找一种方法来动态地将文字放在盒子的中间。

对于奖励积分,是否还有一种方法可以用第二个命令抵消它,即在中心右侧偏移50px。这是因为通常我希望文本在中间,除非他们添加图片,然后我也需要为图片腾出空间。

text和font-size将是可变的,但仍需要居中。

这是我目前的代码:

limitTo

我尝试添加此命令,但它似乎没有任何效果:

<?php
function process($inputdata)
{
/* Create some objects */
$image = new Imagick();
$draw = new ImagickDraw();
$pixel = new ImagickPixel( 'gray' );

/* New image */
$image->newImage(400, 300, $pixel);

/* Black text */
$draw->setFillColor('black');

/* Font properties */
$draw->setFont('Bookman-DemiItalic');
$draw->setFontSize( 30 );

/* Create text */
$image->annotateImage($draw, 10, 45, 0, $inputdata);

/* Give image a format */
$image->setImageFormat('png');

/* Output the image with headers */
header('Content-type: image/png');
echo $image;
return;
}

我能找到的最接近的答案是this one,但似乎有点长时间不得不计算尺寸,然后以这种方式居中。

1 个答案:

答案 0 :(得分:2)

这对我来说很好用:

<head>

enter image description here