PHP ImageMagick 怎樣設置文字陰影效果
最近更新時間 2020-12-11 13:27:21
在 PHP ImageMagick 添加文本時不能直接設置字體的陰影,可通過多次調用 annotateImage 函數改變 x 和 y 值模擬實現字體陰影。
下面代碼演示怎樣實現黑色字體添加有下方白色陰影。如上圖所示:
<?php
/*
* PHP ImageMagick 怎樣設置文字陰影效果
*
*/
$text = 'PHP ImageMagick 怎樣設置文字陰影效果';
// 創建背景顏色為 #F48FB1 的 Imagick 對象
$image = new Imagick();
$image->newImage(768, 405, new ImagickPixel('#F48FB1'));
// 創建 Imagick Draw 設置字體大小為 40
$draw = new ImagickDraw();
$draw->setFontSize(40);
// 使用陰影顏色添加文字 白色陰影
// x + 1、y + 1 表示右下方
$draw->setFillColor('#fff'); // 白色
$image->annotateImage($draw, 0 + 1, 0 + 1, 0, $text);
// x - 1、y - 1 表示左上方
// 添加文字主要顏色 黑色文字
$draw->setFillColor('#000'); // 黑色
$image->annotateImage($draw, 0, 0, 0, $text);
// 瀏覽器顯示圖片
header("Content-Type: image/jpeg");
echo $textImage->getImageBlob();
使用 annotateImage 函數,後面的文字會覆蓋前面的文字,所以主文字顏色要位於最後。