在PHP中,使用imagettftext()函數設置字體顏色時,需要傳遞一個額外的參數,即字體顏色的透明度。這里是一個示例:
<?php
// 創建圖像
$image = imagecreatetruecolor(300, 100);
// 設置背景顏色
$backgroundColor = imagecolorallocate($image, 255, 255, 255);
imagefill($image, 0, 0, $backgroundColor);
// 加載字體文件
$font = 'arial.ttf'; // 請確保字體文件存在于指定的路徑
$fontSize = 20;
$fontColor = imagecolorallocatealpha($image, 255, 0, 0, 127); // 設置字體顏色為紅色,透明度為127(半透明)
// 寫入文本
$text = 'Hello, World!';
$textWidth = imagettfbbox($fontSize, 0, $font, $text);
$textX = ($imageWidth - $textWidth[4]) / 2;
$textY = ($fontSize + 5);
imagettftext($image, $fontSize, 0, $textX, $textY, $fontColor, $font, $text);
// 輸出圖像
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>
在這個示例中,我們首先創建了一個300x100像素的圖像,并設置了背景顏色為白色。然后,我們加載了一個字體文件(arial.ttf),并設置了字體顏色為紅色(255, 0, 0)和透明度為127(半透明)。最后,我們在圖像上寫入了文本,并將圖像輸出為PNG格式。