久久精品五月,日韩不卡视频在线观看,国产精品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综合
国产精品探花在线观看| 日韩一区免费| 婷婷丁香综合| 国产综合婷婷| 国户精品久久久久久久久久久不卡| 夜久久久久久| 中文字幕中文字幕精品| 日韩福利视频导航| 日韩av成人高清| 九九久久国产| 亚洲福利精品| 欧美日韩夜夜| 国产日韩高清一区二区三区在线| 国产精品激情电影| 日韩成人综合| 免费人成网站在线观看欧美高清| 久久午夜精品| 欧美91在线| 91精品啪在线观看国产18| 亚洲tv在线| 日韩二区在线观看| 麻豆视频在线观看免费网站黄| 一区二区三区四区精品视频| 丁香婷婷久久| 免费日韩av片| 四虎国产精品免费观看| 蜜桃视频第一区免费观看| 美女被久久久| 久久精品系列| 日韩中文字幕区一区有砖一区| 日韩欧美高清一区二区三区| 国产成人精品一区二区三区免费| 亚洲人成在线影院| 麻豆精品av| 日韩中文字幕91| 精品精品国产三级a∨在线| 欧美日韩精品免费观看视完整| 久久最新视频| 久久影院一区二区三区| 日本不卡一二三区黄网| 999国产精品| 免费观看亚洲天堂| 日本久久成人网| 国产欧美视频在线| 老牛国产精品一区的观看方式| 97精品国产| 鲁大师精品99久久久| 日韩久久99| 免费成人av在线播放| 午夜在线精品| 中文欧美日韩| 在线一区免费| 在线手机中文字幕| 国产精品久久乐| 欧美欧美黄在线二区| 蜜桃久久久久久| 合欧美一区二区三区| 97精品国产福利一区二区三区| 亚洲视频二区| 久久在线视频免费观看| 国产精品任我爽爆在线播放 | 婷婷国产精品| 欧美日韩一二| 色乱码一区二区三区网站| 国产在线视频欧美一区| 国产精久久一区二区| 综合激情网站| 欧美久久精品| 卡一精品卡二卡三网站乱码| 免费在线观看一区| 精品一区二区三区在线观看视频 | 国产精品久久久久久久久妇女| 国产精品入口久久| 国产精品啊v在线| 成人在线视频中文字幕| 精品国产第一福利网站| 水蜜桃精品av一区二区| 91精品一区二区三区综合| 日韩av黄色在线| 欧美日韩一区自拍| 国产精品手机在线播放| 日韩高清一区在线| 欧美午夜三级| 国产激情一区| 欧美不卡高清一区二区三区| 亚洲免费高清| 美女网站久久| 亚洲不卡视频| 精品久久一区| 尹人成人综合网| 欧美片网站免费| 91日韩免费| 亚洲精品无播放器在线播放| 欧美国产一级| 日韩制服丝袜av| 欧美视频二区| 久久久久国产精品一区二区| 中文字幕在线官网| 欧美日韩国产在线观看网站 | 亚洲精品**中文毛片| 91精品综合| 涩涩涩久久久成人精品| 国产精品黄色| 美女一区网站| 日韩视频久久| 麻豆久久一区| 伊人久久成人| 国产乱子精品一区二区在线观看 | 午夜av成人| 影音国产精品| 免费观看不卡av| 91欧美在线| 日韩中出av| 黄色亚洲大片免费在线观看| 亚洲精品第一| 久久中文视频| 精品亚洲成人| 婷婷久久免费视频| 国产精品美女| 欧美天堂一区二区| 欧美男人天堂| 激情综合婷婷| 亚洲午夜天堂| 精品72久久久久中文字幕| 国产日韩欧美三区| 三级一区在线视频先锋| 久久久一二三| 精品少妇av| 欧美aaaaaa午夜精品| 午夜电影一区| 视频一区在线播放| 在线亚洲欧美| 亚洲午夜91| 国产综合激情| av资源中文在线| 日本不卡视频在线| 国产精品videosex极品| 日本在线视频一区二区| 亚洲精品精选| 免费视频一区二区| 麻豆91精品| 欧美日韩1区| 日本久久二区| 麻豆精品视频在线| 国内精品麻豆美女在线播放视频| 国产一区 二区| 精品资源在线| 欧美13videosex性极品| 日韩欧美二区| 成人片免费看| 中文av在线全新| | 四季av一区二区凹凸精品| 欧美一区网站| 国产精品久久久久久久久久久久久久久| 欧美在线91| 久久精品国产亚洲aⅴ| 国产美女精品视频免费播放软件| 精品国产一区二| 国产96在线亚洲| 欧美va天堂| 日韩一区二区三区四区五区| 日韩精品亚洲aⅴ在线影院| 麻豆精品91| 深夜福利一区| 久久超级碰碰| 国产高清一区| 欧美国产专区| 国产亚洲欧洲| 亚洲最新无码中文字幕久久 | 美女视频黄久久| а√在线中文在线新版| 激情六月综合| 日韩av影院| 图片区亚洲欧美小说区| 日韩精品a在线观看91| 精品精品国产三级a∨在线| 日韩三区免费| 日韩美女精品| 黑丝一区二区三区| 日韩av电影一区| 91tv亚洲精品香蕉国产一区| 久久精品97| 午夜国产欧美理论在线播放| 国产另类在线| 伊人久久婷婷| 亚洲午夜精品久久久久久app| 日韩激情一区二区| 午夜日韩福利| 国产一区2区| 亚洲人www| 久久精品国产68国产精品亚洲| 亚洲精品韩国| 亚洲天堂资源| 91青青国产在线观看精品| 911精品国产| 日韩一区精品视频| 久热综合在线亚洲精品| 欧美久久精品一级c片| 国际精品欧美精品|