首頁 >後端開發 >php教程 >PHP與GD庫教學:如何為圖片添加浮水印

PHP與GD庫教學:如何為圖片添加浮水印

王林
王林原創
2023-07-12 12:10:431012瀏覽

PHP和GD庫教學:如何為圖片添加浮水印

引言:
在網站開發中,經常會遇到為圖片添加浮水印的需求。水印可以起到保護圖片版權、品牌宣傳等作用。本文將介紹如何使用PHP和GD庫添加浮水印到圖片上。

GD庫簡介:
GD庫是一個用於在PHP中處理影像的庫。它提供了一組函數,能夠創建、編輯和輸出圖像。要使用GD庫,需要確保PHP已經安裝了GD擴充庫。

新增文字浮水印:
要為圖片新增文字浮水印,首先需要使用GD庫中的函數建立一個畫布,並將原始圖片載入到畫布上。

<?php
// 创建画布
$image = imagecreatetruecolor(500, 300);
// 载入原始图片
$originalImage = imagecreatefromjpeg('path/to/your/image.jpg');
// 在画布上绘制原始图片
imagecopy($image, $originalImage, 0, 0, 0, 0, 500, 300);

// 添加文字水印
$font = 'path/to/your/font.ttf';
$color = imagecolorallocate($image, 255, 255, 255); // 水印文字颜色
$text = 'Your Watermark Text';
imagettftext($image, 20, 0, 50, 50, $color, $font, $text);

// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($image);

// 清理资源
imagedestroy($image);
imagedestroy($originalImage);
?>

在上述程式碼中,首先使用imagecreatetruecolor()函數建立一個大小為500x300的畫布。然後使用imagecreatefromjpeg()函數將原始圖片載入到畫布上。接下來,使用imagettftext()函數在畫布上新增文字浮水印。最後,使用imagejpeg()函數將修改後的圖片輸出到瀏覽器上。

新增圖片浮水印:
除了文字浮水印,我們也可以加入圖片浮水印。添加圖片浮水印的過程與添加文字浮水印類似,只是在畫布上繪製的內容改為另一張圖片。

<?php
// 创建画布
$image = imagecreatetruecolor(500, 300);
// 载入原始图片
$originalImage = imagecreatefromjpeg('path/to/your/image.jpg');
// 在画布上绘制原始图片
imagecopy($image, $originalImage, 0, 0, 0, 0, 500, 300);

// 添加图片水印
$watermark = imagecreatefrompng('path/to/your/watermark.png');
imagecopy($image, $watermark, 0, 0, 0, 0, 100, 100);

// 输出图片
header('Content-Type: image/jpeg');
imagejpeg($image);

// 清理资源
imagedestroy($image);
imagedestroy($originalImage);
imagedestroy($watermark);
?>

在上述程式碼中,我們首先使用imagecreatetruecolor()函數建立一個大小為500x300的畫布,然後使用imagecreatefromjpeg()函數載入原始圖片。接著,使用imagecreatefrompng()函數載入水印圖片,並使用imagecopy()函數將浮水印繪製到畫布上。最後,使用imagejpeg()函數輸出圖片到瀏覽器。

總結:
透過本文的介紹,我們了解如何使用PHP和GD庫添加浮水印到圖片上。無論是文字浮水印或圖片浮水印,都可以透過GD庫的函數來實現。這為我們在網站開發中添加浮水印提供了便利。透過對GD庫的學習和實踐,我們可以更好地進行圖片處理和優化。

以上是PHP與GD庫教學:如何為圖片添加浮水印的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn