91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

PHP imagettftext能實現文字描邊嗎

PHP
小樊
81
2024-11-19 14:02:47
欄目: 編程語言

PHP的imagettftext() 函數本身不能直接實現文字描邊效果,但您可以通過以下方法來實現這個效果:

  1. 使用imagettftext() 在圖片上繪制原始文本。
  2. 使用imagettfbbox() 計算文本的邊界框。
  3. 創建一個與原始文本大小相同的空白圖片。
  4. 使用imagecopy() 將原始文本的每個字符按照邊界框的坐標復制到新的空白圖片上。
  5. 使用imagefilledrectangle() 在新圖片的外圍繪制一個矩形邊框。
  6. 使用imagettftext() 在新圖片上繪制描邊后的文本。
  7. 使用imagejpeg() 或 imagepng() 將處理后的圖片保存到服務器。

以下是一個簡單的示例代碼:

<?php
header('Content-Type: image/png');

$font = 'arial.ttf'; // 字體文件路徑
$text = 'Hello, World!'; // 要顯示的文本
$fontSize = 20; // 文字大小
$color = imagecolorallocate($image, 0, 0, 0); // 文字顏色(黑色)
$backgroundColor = imagecolorallocate($image, 255, 255, 255); // 背景顏色(白色)
$borderWidth = 2; // 描邊寬度

// 創建圖像
$image = imagecreatetruecolor($textWidth, $textHeight);
imagefilledrectangle($image, 0, 0, $textWidth, $textHeight, $backgroundColor);

// 計算文本邊界框
$bbox = imagettfbbox($fontSize, 0, $font, $text);
$textWidth = $bbox[4] - $bbox[0];
$textHeight = $bbox[5] - $bbox[1];

// 繪制原始文本
imagettftext($image, $fontSize, 0, ($textWidth - $textWidth / strlen($text)) / 2, ($textHeight - $fontSize) / 2, $color, $font, $text);

// 創建描邊圖像
$borderImage = imagecreatetruecolor($textWidth + 2 * $borderWidth, $textHeight + 2 * $borderWidth);
imagefilledrectangle($borderImage, 0, 0, $textWidth + 2 * $borderWidth, $textHeight + 2 * $borderWidth, $backgroundColor);

// 將原始文本復制到描邊圖像上
for ($i = 0; $i < strlen($text); $i++) {
    $char = imagettfbbox($fontSize, 0, $font, $text[$i]);
    imagecopy($borderImage, $image, $i * ($fontSize + $borderWidth), ($fontSize - $char[5]) / 2, $char[0], ($fontSize - $char[1]) / 2, $fontSize + $borderWidth);
}

// 繪制描邊
$borderColor = imagecolorallocate($borderImage, 0, 0, 0);
imagefilledrectangle($borderImage, 0, 0, $textWidth + 2 * $borderWidth, $textHeight + 2 * $borderWidth, $borderColor);

// 保存圖像
imagejpeg($borderImage);
imagedestroy($image);
imagedestroy($borderImage);
?>

這個示例代碼將創建一個帶有黑色描邊的白色文本。您可以根據需要調整參數以更改文本、字體、顏色等。

0
永安市| 美姑县| 定陶县| 宾阳县| 观塘区| 郁南县| 德阳市| 从江县| 石河子市| 双辽市| 芜湖市| 织金县| 仁布县| 阿克苏市| 刚察县| 富宁县| 辽宁省| 临洮县| 云梦县| 丰原市| 汝南县| 乐都县| 钟山县| 三江| 涞源县| 濮阳县| 德令哈市| 南昌市| 武城县| 呼图壁县| 梁山县| 靖州| 洱源县| 金塔县| 桃园市| 馆陶县| 岫岩| 班玛县| 醴陵市| 宜兴市| 甘南县|