新聞中心

我們一直強(qiáng)調(diào)做網(wǎng)站、網(wǎng)站設(shè)計(jì)對于企業(yè)的重要性,如果您也覺得重要,那么就需要我們慎重對待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過程中的有力推手。專業(yè)網(wǎng)站制作公司不一定是大公司,創(chuàng)新互聯(lián)公司作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
制作水印一般可以使用文字(例如公司名稱加網(wǎng)址),也可以使用圖片(例如公司 LOGO),使用圖片水印效果會更好一些,因?yàn)榭梢酝ㄟ^一些做圖軟件進(jìn)行美化。
使用文字做水印,只需要在圖片上畫上一些文字即可。如果制作圖片水印,就需要先了解一下 PHP 中的 imagecopy() 函數(shù),該函數(shù)能復(fù)制圖像的一部分,語法格式如下:
imagecopy(resource $dst_im, resource $src_im, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h)
該函數(shù)可以將 $src_im 圖像中坐標(biāo)($src_x,$src_y)的位置,拷貝一份寬度為 $src_w,高度為 $src_h 的矩形區(qū)域到 $dst_im 圖像中坐標(biāo)為 ($dst_x,$dst_y) 的位置上。
要使用圖片水印的話,我們就需要明確水印圖片的寬度和高度,除了可以使用 getimagesize() 函數(shù)外,還可以使用 PHP 中的 imagesx()、imagesy() 兩個(gè)函數(shù)來分別獲取圖片的寬度和高度。
imagesx(resource $image)
imagesy(resource $image)
【示例】為圖片添加水印。
$district OR $district > 9) $district = 9;
switch($district){
case 1:
$x = +5;
$y = +5;
break;
case 2:
$x = ($img_w - $watermark_w) / 2;
$y = +5;
break;
case 3:
$x = $img_w - $watermark_w - 5;
$y = +5;
break;
case 4:
$x = +5;
$y = ($img_h - $watermark_h) / 2;
break;
case 5:
$x = ($img_w - $watermark_w) / 2;
$y = ($img_h - $watermark_h) / 2;
break;
case 6:
$x = $img_w - $watermark_w;
$y = ($img_h - $watermark_h) / 2;
break;
case 7:
$x = +5;
$y = $img_h - $watermark_h - 5;
break;
case 8:
$x = ($img_w - $watermark_w) / 2;
$y = $img_h - $watermark_h - 5;
break;
case 9:
$x = $img_w - $watermark_w - 5;
$y = $img_h - $watermark_h - 5;
break;
}
switch ($imginfo[2]) {
case 1:
$im = @imagecreatefromgif($img);
break;
case 2:
$im = @imagecreatefromjpeg($img);
break;
case 3:
$im = @imagecreatefrompng($img);
break;
}
switch ($watermarkinfo[2]) {
case 1:
$watermark_logo = @imagecreatefromgif($watermark);
break;
case 2:
$watermark_logo = @imagecreatefromjpeg($watermark);
break;
case 3:
$watermark_logo = @imagecreatefrompng($watermark);
break;
}
if(!$im or !$watermark_logo) return false;
$dim = @imagecreatetruecolor($img_w, $img_h);
if(@imagecopy($dim, $im, 0, 0, 0, 0,$img_w,$img_h )){
imagecopy($dim, $watermark_logo, $x, $y, 0, 0, $watermark_w, $watermark_h);
}
$file = dirname($img) . '/w' . basename($img);
$result = imagejpeg ($dim,$file,$watermarkquality);
imagedestroy($watermark_logo);
imagedestroy($dim);
imagedestroy($im);
if($result){
echo $img.' 水印添加成功';
return;
}
else {
return false;
}
}
$file = './back.gif'; //待加水印的圖片地址
$water = './logo.png'; //水印圖片的地址
watermark($file, $water);
?>
運(yùn)行上面的代碼,就會為 back.gif 添加水印,并將添加水印后的圖片 wback.gif 保存在 back.gif 所在的目錄中,添加水印后的圖片如下所示:
圖:為圖片添加水印
網(wǎng)站標(biāo)題:PHPimagecopy():為圖片添加水印
文章分享:http://m.fisionsoft.com.cn/article/coeheoi.html


咨詢
建站咨詢
