$image->annotateImage($draw, 10, 45, 0, 'The quick brown fox');
如果第三個參數「Y」值為 0,則文字會不可見,因為文字會列印在圖片上方,而不是在圖片上。
解決方法是從大約 40 的 Y 值開始,並根據所選的字型大小進行實驗。
[此外:]
當想要在照片上列印一些文字,並使該文字與背景圖片有足夠的對比度時,請使用 4 位元組程式碼來表示顏色和透明度。
這與 ImageMagick 命令列指令「convert」中參數「-undercolor」所用的 4 位元組程式碼相同。
前 3 個位元組是 RGB 顏色程式碼,第四個位元組是透明度位元組。
<?php
$picin = new Imagick($pic1);
$picin->scaleimage(800,0);
$height = $picin->getimageheight();
$draw = new ImagickDraw();
$draw->setFillColor('#ffff00');
$draw->setFont('Eurostile');
$draw->setFontSize(21);
$draw->setTextUnderColor('#ff000088');
$picin->annotateImage($draw,40,$height-10,0,"Hallo");
$picin->writeimage($pic6);
?>
範例程式碼會在半透明紅色背景上產生黃色文字。
$pic1 和 $pic6 先前已定義為目錄/檔案字串。