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 函數,後面的文字會覆蓋前面的文字,所以主文字顏色要位於最後。

rss_feed