2017-02-18 9 views
1

私はImagickを使用して画像に注釈を付けた画像に注釈を付けますか?私はドローパラグラフをコピーするだけで、最後の使用は表示されません。イメージを保存して再度編集する必要がありますか、またはその場で行う方法がありますか?前もって感謝します。は二回

更新:

ジャスト(第2のImagickDrawを追加すること)が動作しない、それは表示されません。

$image = new Imagick('image.jpg'); 

//first 
$draw = new ImagickDraw(); 
$draw->setFillColor('#ffffff'); 
$draw->setFont('fonts/opensans-regular.ttf'); 
$draw->setFontSize(40); 
$image->annotateImage($draw, 20, 100, 0, 'The quick fox jumps over the lazy dog'); 

//second 
$draw2 = new ImagickDraw(); 
$draw2->setFillColor('red'); 
$draw2->setFont('fonts/opensans-regular.ttf'); 
$draw2->setFontSize(40); 
$image->annotateImage($draw2, 20, 800, 0, 'The quick fox jumps over the lazy dog'); 

$image->setImageFormat('png'); 

header('Content-type: image/png'); 
echo $image; 
+0

あなたにはうまくいかないコードを含めてください。誰かが問題の内容を伝える可能性があります。 – miken32

+0

あなたは決してそれをしませんでしたが、別の 'X'と' Y'座標で2番目の 'annotateImage'を実行すれば、それはあなたが何を求めているはずですか? – RiggsFolly

+0

どうやってそれを2回使用しようとしましたか? '$ draw2 = new ImagickDraw();'を追加するだけで動作してはいけません。 –

答えて

2

次は、画像に追加できる2番目の注釈の例です。

<?php 
$image = new Imagick(); 
$draw = new ImagickDraw(); 
$pixel = new ImagickPixel('white'); 
$image->newImage(800, 75, $pixel); 

$draw->setFillColor('black'); 
$draw->setFont('Bookman-DemiItalic'); 
$draw->setFontSize(30); 

$image->annotateImage($draw, 10, 25, 0, '1st line of annotation text here'); 
$image->annotateImage($draw, 10, 60, 0, '2nd line of annotation text here'); 
$image->setImageFormat('png'); 

header('Content-type: image/png'); 
echo $image; 

x,y座標に基づいて、好きな場所に注釈を追加できます。重複してお互いにできることを覚えておいてください。

+0

はい、私のコメントに書いてあるとおりです – RiggsFolly