久久精品五月,日韩不卡视频在线观看,国产精品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综合
综合干狼人综合首页| 欧美亚洲日本精品| 亚洲精品888| 伊人精品在线| 亚洲欧美激情诱惑| 亚洲人www| 国产免费久久| 91亚洲精品在看在线观看高清| 亚洲午夜免费| 欧美一区不卡| 精品国产精品国产偷麻豆| 给我免费播放日韩视频| 日韩一区自拍| 99综合视频| 久久精品99久久久| 国产成人精品一区二区三区视频 | 亚洲永久字幕| 亚洲精品极品| 成人精品高清在线视频| av在线日韩| 蜜桃一区二区三区在线| 国产精品亚洲片在线播放| 激情国产在线| 羞羞答答国产精品www一本| 日本精品一区二区三区在线观看视频 | 热久久免费视频| 国产精品久久久久久久久免费高清 | 久久久久国产一区二区| 久久99伊人| 国产精品theporn| 久久中文视频| 国产伦乱精品| 免费黄色成人| 国产午夜久久av| 日韩久久精品网| 欧美在线亚洲| 国产精品4hu.www| 蜜桃成人精品| 日韩av一级片| 日韩在线二区| 日韩精品成人| 婷婷亚洲五月色综合| 清纯唯美亚洲综合一区| 不卡一二三区| 久久国内精品自在自线400部| 欧美一区二区三区激情视频| 国产欧美日韩精品一区二区免费| 日韩久久精品| 青青草91视频| 亚洲色诱最新| 特黄毛片在线观看| 亚洲精品观看| 亚州av乱码久久精品蜜桃| 国产精品成人国产| 性欧美长视频| 三级小说欧洲区亚洲区| 欧美激情亚洲| 日本在线视频一区二区| 五月天久久网站| 午夜久久中文| 麻豆精品久久| 日本高清久久| 视频一区二区不卡| 日韩在线欧美| 精品视频一区二区三区在线观看| 亚洲精品国模| 午夜电影亚洲| 午夜av成人| 成人午夜在线| 国产精品久久久免费| 日韩高清欧美激情| 午夜在线一区二区| 激情综合网站| 久久九九99| 成人va天堂| 日本一二区不卡| 久久精品国产999大香线蕉 | 亚洲资源在线| 蜜桃视频一区二区三区 | 99久久精品国产亚洲精品| 97精品中文字幕| 国产中文字幕一区二区三区| 国产精品三级| 久久99久久人婷婷精品综合| 日韩精品免费视频一区二区三区| 久久高清国产| 蜜桃成人av| 国产一区亚洲| 99久久婷婷这里只有精品| 天堂中文在线播放| av高清不卡| 999国产精品永久免费视频app| 国产一区二区三区久久| 久久影视三级福利片| 久久精品网址| 日本久久精品| 久久激情网站| 欧美日韩免费观看一区=区三区| 欧美不卡高清| 久久午夜影视| 亚洲欧美日本国产| 日韩精彩视频在线观看| 911精品国产| 精品黄色一级片| 日韩电影二区| 国产亚洲亚洲| 日本视频一区二区| 久久久久九九精品影院| 麻豆国产精品一区二区三区| 水蜜桃久久夜色精品一区| 桃色一区二区| 日韩一级网站| 日韩精品视频中文字幕| 麻豆精品一区二区综合av| 国产在线观看www| 91精品婷婷色在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲精品福利| 免费在线欧美黄色| 久久激情中文| 亚洲精品少妇| 精品三级av在线导航| 久久久久久久久久久9不雅视频| 国精品一区二区| 日韩国产欧美在线播放| 福利一区视频| 99视频在线精品国自产拍免费观看| 免费在线观看一区二区三区| 国产毛片一区二区三区 | 日韩av有码| 午夜精品网站| 国产一区 二区| 亚洲精品.com| 日本国产欧美| 日韩影院二区| 蜜桃传媒麻豆第一区在线观看| 日韩欧美中文在线观看| 久久丁香四色| 一区久久精品| 麻豆中文一区二区| 欧美不卡视频| 美腿丝袜亚洲一区| 午夜国产一区二区| 青草综合视频| 亚洲午夜电影| 国产精品a久久久久| 国产真实久久| 久久国产人妖系列| 午夜国产精品视频免费体验区| 国产日韩欧美一区二区三区在线观看 | 婷婷综合国产| 久久青青视频| 日韩av在线播放中文字幕| 日本美女一区| 欧美亚洲色图校园春色| 99热精品久久| 国产一精品一av一免费爽爽| 亚洲第一精品影视| 国产精品一区二区三区www| 久久中文字幕av一区二区不卡| 日韩av中文字幕一区二区三区| 日韩电影免费在线观看| 奇米亚洲欧美| 在线亚洲免费| 国产成人精品亚洲日本在线观看| 奇米狠狠一区二区三区| 欧美精品激情| av中文资源在线资源免费观看| 91九色综合| 久久国产精品99国产| www.com.cn成人| 国产精品nxnn| 日韩毛片网站| 欧美中文日韩| 免费观看久久av| 韩国精品主播一区二区在线观看 | 久久精品一区二区国产| 视频一区日韩精品| 1024精品久久久久久久久| 欧美好骚综合网| 国产精品成人自拍| 日本一区福利在线| 亚洲一区二区三区四区五区午夜| a日韩av网址| 麻豆91精品视频| 国产丝袜一区| 精品一区在线| 亚洲午夜黄色| 久久一区二区三区电影| 成人三级高清视频在线看| 国产精久久久| 久久激情av| 青青草91久久久久久久久| 少妇精品在线| 免费久久99精品国产| 中文在线一区| 亚洲欧美日韩专区| 99国产精品| 免费在线视频一区| |