私はimagemagickを使って画像にテキストを書いていますが、テキストボックスを真ん中に置く方法を見つけるのには苦労しています。imagemagickテキストを真ん中に設定
ボーナスポイントの場合、2番目のコマンドでオフセットする方法もあります。つまり、中央から50px右に移動します。これは、通常、画像を追加しない限り、テキストを中央に置きたいので、画像のスペースを確保する必要があるからです。
テキストとフォントサイズは可変ですが、それでも中央揃えにする必要があります。
これは私の現在のコードです:
<?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;
}
私は、このコマンドを追加しようとしたが、それがどんな効果を持っていないようでした:
$draw->setTextAlignment(\Imagick::ALIGN_CENTER);
私は見つけることができる最も近い答えがthis oneあり、しかし、サイズを計算してそのように中央に配置しなければならないのは、ちょっと待たれているようです。
どうsetGravityについて(Imagick :: GRAVITY_CENTER) – Bonzo
@Bonzoこんにちは。私はそれを試みたが、それは動作していないようでした:( – Jimmy