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中文網其他相關文章!