色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php imagemagick 水印

錢艷冰1年前7瀏覽0評論
PHP Imagemagick水印

在網站開發過程中,我們經常需要給圖片添加水印,以保證圖片版權,提高網站美觀度和個性化程度,那么如何使用PHP Imagemagick給圖片添加水印呢?

首先,我們需要安裝Imagemagick以及php-imagick擴展。

yum install ImageMagick
pecl install imagick

接著,我們需要準備以下素材:一張需要加水印的圖片、一張加了水印的圖片、一個水印文字。

$srcImg = 'source.jpg'; //需要加水印的圖片
$destImg = 'destination.jpg'; //加了水印的圖片
$watermark = 'watermark.png'; //水印圖片

現在,我們來看一下如何使用文字水印。

$returnValue = exec("convert {$srcImg} -pointsize 32 -fill white -undercolor '#00000080' 
-gravity SouthWest -annotate +16+16 'Your Watermark' -strip {$destImg}");
if($returnValue !== null && strpos($returnValue, 'Error') !== false){
echo 'Error while processing image';
} else {
echo 'Image processed successfully';
}

在以上代碼中,我們使用exec()函數來運行使用Imagemagick的convert命令。其中,我們使用-pointsize設置水印文字的大小,-fill設置水印顏色,-undercolor設置背景顏色,-gravity設置水印位置,-annotate設置水印內容,-strip刪除原圖重復信息。

如果我們想使用一個圖片作為水印呢?下面是使用圖片作為水印的代碼:

// 開啟Imagick對象
$image = new \Imagick($srcImg);
// 設置水印圖片
$watermark_image = new \Imagick($watermark);
// 獲取原圖寬度和高度
$imageWidth = $image->getImageWidth();
$imageHeight = $image->getImageHeight();
// 獲取水印圖片的寬度和高度
$watermarkWidth = $watermark_image->getImageWidth();
$watermarkHeight = $watermark_image->getImageHeight();
// 計算水印最大寬高
$maxWidth = $imageWidth / 2;
$maxHeight = $imageHeight / 2;
if($watermarkWidth >$maxWidth || $watermarkHeight >$maxHeight){
$watermark_image->resizeImage($maxWidth, $maxHeight, \Imagick::FILTER_BOX, 1);
}
// 計算水印位置
$x = $imageWidth - $watermark_image->getImageWidth() - 10;
$y = $imageHeight - $watermark_image->getImageHeight() - 10;
// 把水印圖片加到原圖上
$image->compositeImage($watermark_image, \Imagick::COMPOSITE_ATOP, $x, $y);
// 保存新圖片
$image->writeImage($destImg);

在以上代碼中,我們先開啟一個Imagick對象,并使用另一個Imagick對象加載水印圖片,然后計算出水印圖片的寬度和高度,再根據原圖的寬度和高度,以及水印圖片的寬度和高度,計算出水印圖片的位置,最后使用compositeImage()函數將水印圖片加到原圖上,并寫入新圖片。

PHP Imagemagick給圖片添加水印,是一個非常棒的功能。我們可以通過PHP Imagemagick輕松構建出一個獨具特色和創新的網站,來滿足用戶的需求。