久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合

站長資訊網
最全最豐富的資訊網站

一定搞得懂PHP中如何添加圖片水印

在之前的文章中給大家帶來了《PHP中怎樣完成圖像的縮放和裁剪?(實例詳解)》,其中通過實例給大家介紹了在PHP中應該怎樣去進行圖形的縮放和裁剪,本篇文章繼續來看一看PHP中圖形處理的知識,我們應該怎樣給圖片增加水印。希望對大家有幫助!

一定搞得懂PHP中如何添加圖片水印

在我們的日常生活中,為了不希望自己的圖片被盜用,經常能夠看到在一些圖片上添加水印,比如我們網站上,輸入圖片文件的話會自動在右下角加上一個水印,那么這種水印效果是怎么實現的呢?通過PHP就可以實現為圖片增加水印的效果。

在之前文章中對圖片進行裁剪放到目標圖上的操作和添加水印有些類似,為了實現添加水印,需要通過 imagecopymerge函數。

imagecopymerge函數

imagecopymerge函數的語法格式如下:

imagecopymerge($目標圖片,$來源圖片,$目標開始的x ,$目標開始的y,$來源的x ,$來源的y ,$來源的寬 ,$來源的高 ,$透明度)

其中透明度的值是0-100的整數,透明度的值越大,水印越不透明。

接下來我們通過實例來看一下應該怎樣給圖片增加水印:

首先準備了一個名為test.png的圖片和一個名為logo.png的水印圖片放到了我們的根目錄里

一定搞得懂PHP中如何添加圖片水印

注意上面這個是示例圖片,下面的水印并不是我添加的,是網站自動添加的,為了區分,實例的水印是下面這樣的

一定搞得懂PHP中如何添加圖片水印一定搞得懂PHP中如何添加圖片水印

那接下來,操作如下:

<?php //打開目標圖片 $dst = imagecreatefrompng('test.png'); //打開Logo來源圖片 $src = imagecreatefrompng('logo.png'); //得到目標圖片的寬高 $dst_info = getimagesize('test.png'); //得到logo圖片的寬高 $src_info = getimagesize('logo.png'); //放到最右下腳可得出圖片水印圖片需要開始的位置即: //x點位置:需要大圖的寬 - 小圖的寬; //y點位置:放大圖的高 - 小圖的高 $dst_x = $dst_info[0] - $src_info[0]; $dst_y = $dst_info[1] - $src_info[1]; //要將圖片加在右下腳 imagecopymerge($dst, $src, $dst_x, $dst_y, 0, 0, $src_info[0], $src_info[1], 50); header('Content-type:image/png'); imagepng($dst); imagedestroy($dst); imagedestroy($src); ?>

輸出結果:

一定搞得懂PHP中如何添加圖片水印

由上述結果可以看出,通過imagecopymerge函數添加了一個透明度為50的水印。

拓展知識imagecopy函數

不止使用imagecopymerge函數一種方法添加水印,也能夠通過 imagecopy() 函數,它能夠復制函數的一部分,它的語法格式如下:

imagecopy($目標圖片, $來源圖片,$目標圖片x,$目標圖片y,$來源圖片x,$來源圖片y,$來源圖片寬,$來源圖片高)

它的含義是,在來源圖片的(x,y)的地方選取寬為w,高為h的矩形區域到目標圖片的(x,y)上。

使用 PHP 中的 imagesx()、imagesy() 兩個函數來分別獲取圖片的寬度和高度。它們的語法格式如下:

imagesx(resource $image) imagesy(resource $image)

實例如下:

<?php     function watermark($img, $watermark, $district = 0,$watermarkquality = 95){         $imginfo = @getimagesize($img);         $watermarkinfo = @getimagesize($watermark);         $img_w = $imginfo[0];         $img_h = $imginfo[1];         $watermark_w = $watermarkinfo[0];         $watermark_h = $watermarkinfo[1];         if($district == 0) $district = rand(1,9);         if(!is_int($district) OR 1 > $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 = 'test.png';   //待加水印的圖片地址     $water = 'logo.png';  //水印圖片的地址     watermark($file, $water); ?>

輸出結果:

一定搞得懂PHP中如何添加圖片水印

效果如下:

一定搞得懂PHP中如何添加圖片水印

推薦學習:《PHP視頻教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
久久精品五月,日韩不卡视频在线观看,国产精品videossex久久发布 ,久久av综合
亚洲精品99| 最新国产精品视频| 精品网站999| 欧美极品一区二区三区| 国产福利一区二区精品秒拍| 国产精品久久久久久模特| 麻豆国产91在线播放| 色一区二区三区四区| 欧美成人基地| 四虎国产精品免费观看| 久久激情av| 亚洲精品在线国产| 鲁大师成人一区二区三区| 综合一区av| 国产亚洲精品精品国产亚洲综合| 欧美精品二区| 成人日韩在线观看| 免费视频久久| 国产亚洲欧美日韩精品一区二区三区 | 激情综合网五月| 丝袜国产日韩另类美女| 欧美亚洲网站| 国产精品久久观看| 激情久久久久久久| 日韩一区精品| 美女久久精品| 欧美日韩国产在线观看网站| 日本免费新一区视频| 国产va在线视频| 中文亚洲欧美| 国产精品66| 日韩精品久久久久久久电影99爱| 少妇久久久久| av不卡免费看| 中文字幕日韩欧美精品高清在线| 国产精品日韩精品中文字幕| www.九色在线| 中文在线日韩| 超碰99在线| 免费在线视频一区| 精品中国亚洲| 午夜在线视频观看日韩17c| 国产日产精品_国产精品毛片| 日韩毛片视频| 亚洲精品少妇| 免费一二一二在线视频| 亚洲麻豆一区| 日韩在线第七页| 69堂精品视频在线播放| 天堂网av成人| 久久成人高清| 日韩影片在线观看| 新版的欧美在线视频| 日韩在线播放一区二区| 福利视频一区| 日韩一区二区三区精品视频第3页| 国产精品va视频| 国产精品蜜月aⅴ在线| 久久亚洲人体| 亚洲欧美网站在线观看| 超碰在线99| 青青草国产成人99久久| 丝袜av一区| 欧美亚洲综合视频| 日韩高清成人| 国产精品2023| 日韩精品亚洲aⅴ在线影院| 久久免费大视频| 毛片不卡一区二区| 亚洲精品乱码| 亚洲一区网站| 亚洲成av人片一区二区密柚| 国产欧美一区二区三区精品观看| 激情综合网站| 色在线视频观看| 久久a爱视频| 国产日韩一区二区三免费高清| 久久国产精品亚洲77777| 日韩三区在线| 97在线精品| 精品三级在线| 国产精品九九| 日韩不卡免费视频| 日韩一级精品| 亚洲成人二区| 欧美成人a交片免费看| 国产精品mm| 国产欧美日韩在线观看视频| 亚洲深深色噜噜狠狠爱网站| 日韩一级欧洲| 91成人超碰| 九九久久电影| 午夜久久一区| 欧美~级网站不卡| 久久精品国产大片免费观看| 1000部精品久久久久久久久| 久久国产亚洲| 亚洲第一区色| 91成人超碰| 国产视频一区欧美| 亚洲欧美日韩一区在线观看| 视频一区视频二区中文| 中文字幕亚洲在线观看| 亚洲精选av| 国产午夜精品一区在线观看| 久久国产三级| 欧美aa在线视频| 你懂的国产精品| 国产精品久久久免费| 欧美日韩一区二区三区不卡视频| 日韩精品五月天| 日韩国产欧美在线视频| 日本精品一区二区三区在线观看视频 | 免费视频一区二区三区在线观看 | 国产免费播放一区二区| 欧美亚洲人成在线| 日韩精品国产欧美| 亚洲2区在线| 亚洲啊v在线免费视频| 亚洲精品乱码久久久久久蜜桃麻豆| 爽爽淫人综合网网站| 视频一区免费在线观看| 亚洲丝袜啪啪| 日韩一区二区三区在线看| 日本在线视频一区二区| 亚洲一区二区三区久久久| 热久久国产精品| 免费不卡在线观看| 蜜桃久久精品一区二区| 亚洲免费毛片| 亚欧洲精品视频在线观看| 亚洲男人在线| 日韩精品第一| 国产女人18毛片水真多18精品| 国产精品一区二区三区美女| 久久精品xxxxx| 国产精品任我爽爆在线播放| 国产精品一区免费在线| 另类综合日韩欧美亚洲| 国产精品一二| 美女视频黄久久| 国产成人在线中文字幕| 久久久久久夜| 日韩精品欧美| 国产亚洲一级| 亚洲精品婷婷| 欧美在线黄色| 国产精品啊啊啊| 加勒比视频一区| 亚洲成人va| 久久国产成人| 88久久精品| 欧美激情日韩| 久久久777| 蜜桃久久av| 欧美精品三级在线| 欧美日一区二区三区在线观看国产免| 国产精品日韩精品在线播放| 麻豆精品一区二区综合av| 欧美www视频在线观看| 亚洲成av人片一区二区密柚| 免费观看久久av| 久久最新视频| 欧美在线不卡| 国产欧洲在线| 国产字幕视频一区二区| 免费久久精品视频| 日本亚洲欧洲无免费码在线| 欧美激情麻豆| 久久久精品午夜少妇| 亚洲综合欧美| 91精品国产经典在线观看| 精品一区二区三区视频在线播放| 国产aⅴ精品一区二区三区久久 | 亚洲欧美日韩国产一区| 老司机精品视频网| 亚洲韩日在线| 欧美日韩在线精品一区二区三区激情综合 | 日韩欧美一区二区三区免费观看| 亚洲欧美日本日韩| 国产精品夜夜夜| 好吊视频一区二区三区四区| 综合国产精品| 国产精品777777在线播放| 深夜福利视频一区二区| 亚洲无线观看| 国产精品一级| 日韩欧美精品| 三级亚洲高清视频| 精品99在线| 日韩视频精品在线观看| 视频一区二区三区在线| 国产精品三级| 黄色日韩在线| 国产精品视频首页| 精品中文字幕一区二区三区| 亚洲精品伊人| 日韩精品免费一区二区三区| 久久精品72免费观看| 一区在线观看|