在現今社交媒體高度發達的時代,越來越多的人喜歡在自己的照片、圖像上添加水印,以防止侵權和傳播。因此,PNG水印成為了一種流行的加水印方式。PNG水印可以保留圖像的透明度和細節,而且不會造成扭曲和顏色變化。如何使用PHP添加PNG水印呢?下面就來介紹一下。
首先,我們需要確保服務器上的PHP版本支持GD庫。GD庫是PHP自帶的圖像處理庫,它允許我們在PHP中創建和編輯圖像。要檢查服務器上是否已經安裝了GD庫,可以運行以下代碼:
接著,我們創建一個函數來添加PNG水印。這個函數需要接收三個參數:原始圖像的路徑、水印圖像的路徑和水印位置。水印位置有九個值可選:左上、中上、右上、左中、居中、右中、左下、中下和右下。下面是代碼示例:
最后,我們可以使用這個函數給任何PNG圖像添加水印。例如,假設我們有一張名為“photo.png”的照片,我們想在右下角添加一個名為“logo.png”的水印,我們可以調用函數并傳遞路徑參數:
在這篇文章中,我們介紹了如何使用PHP GD庫來添加PNG水印。希望這對你有所幫助!
首先,我們需要確保服務器上的PHP版本支持GD庫。GD庫是PHP自帶的圖像處理庫,它允許我們在PHP中創建和編輯圖像。要檢查服務器上是否已經安裝了GD庫,可以運行以下代碼:
<?php // 檢查GD庫是否安裝 if (extension_loaded('gd') && function_exists('gd_info')) { echo 'GD庫已安裝'; } else { echo '請安裝GD庫'; } ?>
接著,我們創建一個函數來添加PNG水印。這個函數需要接收三個參數:原始圖像的路徑、水印圖像的路徑和水印位置。水印位置有九個值可選:左上、中上、右上、左中、居中、右中、左下、中下和右下。下面是代碼示例:
<?php // 添加PNG水印函數 function waterMark($imgPath, $waterMarkPath, $position = 'bottom-right') { // 原始圖像 $image = imagecreatefrompng($imgPath); // 水印圖像 $waterMark = imagecreatefrompng($waterMarkPath); // 原始圖像寬度和高度 $width = imagesx($image); $height = imagesy($image); // 水印圖像寬度和高度 $waterMarkWidth = imagesx($waterMark); $waterMarkHeight = imagesy($waterMark); // 水印位置 switch($position) { case 'top-left': $x = 0; $y = 0; break; case 'top-center': $x = ($width - $waterMarkWidth) / 2; $y = 0; break; case 'top-right': $x = $width - $waterMarkWidth; $y = 0; break; case 'center-left': $x = 0; $y = ($height - $waterMarkHeight) / 2; break; case 'center': $x = ($width - $waterMarkWidth) / 2; $y = ($height - $waterMarkHeight) / 2; break; case 'center-right': $x = $width - $waterMarkWidth; $y = ($height - $waterMarkHeight) / 2; break; case 'bottom-left': $x = 0; $y = $height - $waterMarkHeight; break; case 'bottom-center': $x = ($width - $waterMarkWidth) / 2; $y = $height - $waterMarkHeight; break; case 'bottom-right': default: $x = $width - $waterMarkWidth; $y = $height - $waterMarkHeight; break; } // 合并圖像 imagecopy($image, $waterMark, $x, $y, 0, 0, $waterMarkWidth, $waterMarkHeight); // 輸出圖像 header('Content-Type: image/png'); imagepng($image); // 釋放內存 imagedestroy($image); imagedestroy($waterMark); } // 使用示例 waterMark('original.png', 'watermark.png', 'bottom-right'); ?>
最后,我們可以使用這個函數給任何PNG圖像添加水印。例如,假設我們有一張名為“photo.png”的照片,我們想在右下角添加一個名為“logo.png”的水印,我們可以調用函數并傳遞路徑參數:
<?php waterMark('photo.png', 'logo.png', 'bottom-right'); ?>
在這篇文章中,我們介紹了如何使用PHP GD庫來添加PNG水印。希望這對你有所幫助!