兩種php給圖片加水印的實(shí)現(xiàn)代碼
更新時(shí)間:2020年04月18日 10:39:27 作者:鐘志遠(yuǎn)
本文提供了兩種php給圖片加水印的實(shí)現(xiàn)代碼,其中一種是添加文字水印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
PHP最簡(jiǎn)單的加水印方法
<?php $img = imagecreatefromjpeg($filename); $logo = imagecreatefromjpeg($filename); /*imagecraetefromjpeg-由文件或URL創(chuàng)建一個(gè)新圖像 imagecreatefromjpeg(string $filename) 如果啟用了fopen包裝器,URL可以作為文件名*/ imagecopy($img,$logo,15,15,0,0,$width,$height); /*imagecopy($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h) $dst_im是背景圖像,就是需要添加水印的圖片 $src_im是水印圖片;$dst_x,#dst_y需要把水印放到背景圖片的(x,y)坐標(biāo); $src_x,$src_y是截取水印的圖片的開(kāi)始坐標(biāo) $width,$height是截取的圖片的就是水印的長(zhǎng)度和寬度*/ $url = 'http://www.stchat.cn/data/attachment/forum/201506/12/100759pidbdaydh8dy7iby.jpg'; $content = file_get_contents($url);//把url寫(xiě)入到content這個(gè)變量里面 /*file_get_contents--將整個(gè)文件讀入到一個(gè)字符串*/ $filename = 'tmp.jpg'; file_put_contents($filename,$content); //把所有內(nèi)容放到filename這個(gè)變量里面,第一個(gè)存放的是背景圖片 /*file_put_contents(string $filename,mixed $data)將一個(gè)字符串寫(xiě)入一個(gè)文件 filename要被寫(xiě)入數(shù)據(jù)的文件名 data要寫(xiě)入的數(shù)據(jù),類型可以是string,array或者是stream資源*/ $url = ''; file_put_contents('logo.png',file_get_contents($url)); //第二個(gè)是水印的圖片 $img = imagecreatefromjpeg($filename); $logo = imagecreatefrompng('logo.png'); $size = getimagesize('logo.png'); /*getimagesize()獲得圖像大小*/ imagecopy($img,$logo,15,15,0,0,$size[0],$size[1]); header("centent-type:image/jpeg"); imagejpeg(img); ?>
php給圖片加文字水印
<?php /*給圖片加文字水印的方法*/ $dst_path = 'http://f4.topitme.com/4/15/11/1166351597fe111154l.jpg'; $dst = imagecreatefromstring(file_get_contents($dst_path)); /*imagecreatefromstring()--從字符串中的圖像流新建一個(gè)圖像,返回一個(gè)圖像標(biāo)示符,其表達(dá)了從給定字符串得來(lái)的圖像 圖像格式將自動(dòng)監(jiān)測(cè),只要php支持jpeg,png,gif,wbmp,gd2.*/ $font = './t1.ttf'; $black = imagecolorallocate($dst, 0, 0, 0); imagefttext($dst, 20, 0, 10, 30, $black, $font, 'Hello world!'); /*imagefttext($img,$size,$angle,$x,$y,$color,$fontfile,$text) $img由圖像創(chuàng)建函數(shù)返回的圖像資源 size要使用的水印的字體大小 angle(角度)文字的傾斜角度,如果是0度代表文字從左往右,如果是90度代表從上往下 x,y水印文字的第一個(gè)文字的起始位置 color是水印文字的顏色 fontfile,你希望使用truetype字體的路徑*/ list($dst_w,$dst_h,$dst_type) = getimagesize($dst_path); /*list(mixed $varname[,mixed $......])--把數(shù)組中的值賦給一些變量 像array()一樣,這不是真正的函數(shù),而是語(yǔ)言結(jié)構(gòu),List()用一步操作給一組變量進(jìn)行賦值*/ /*getimagesize()能獲取到什么信息? getimagesize函數(shù)會(huì)返回圖像的所有信息,包括大小,類型等等*/ switch($dst_type){ case 1://GIF header("content-type:image/gif"); imagegif($dst); break; case 2://JPG header("content-type:image/jpeg"); imagejpeg($dst); break; case 3://PNG header("content-type:image/png"); imagepng($dst); break; default: break; /*imagepng--以PNG格式將圖像輸出到瀏覽器或文件 imagepng()將GD圖像流(image)以png格式輸出到標(biāo)注輸出(通常為瀏覽器),或者如果用filename給出了文件名則將其輸出到文件*/ } imagedestroy($dst); ?>
以上就是php給圖片加水印的實(shí)現(xiàn)代碼,希望大家可以熟練掌握。
相關(guān)文章
CI分頁(yè)類首頁(yè)、尾頁(yè)不顯示的解決方法
這篇文章主要介紹了CI分頁(yè)類首頁(yè)、尾頁(yè)不顯示的解決方法,結(jié)合實(shí)例形式較為詳細(xì)的分析說(shuō)明了CI框架分頁(yè)代碼的運(yùn)行原理與顯示首頁(yè)、尾頁(yè)的具體方法,需要的朋友可以參考下2016-03-03php 使用mpdf實(shí)現(xiàn)指定字段配置字體樣式的方法
前兩天在做一個(gè)pdf導(dǎo)出功能,使用的插件是kartik-v/yii2-mpdf,此插件使用的是mpdf。接下來(lái)通過(guò)本文給大家介紹php 使用mpdf實(shí)現(xiàn)指定字段配置字體樣式的方法,需要的朋友可以參考下2019-07-07CodeIgniter讀寫(xiě)分離實(shí)現(xiàn)方法詳解
這篇文章主要介紹了CodeIgniter讀寫(xiě)分離實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了CodeIgniter讀寫(xiě)分離的相關(guān)配置與功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-01-01php加水印的代碼(支持半透明透明打水印,支持png透明背景)
一個(gè)簡(jiǎn)單的打水印代碼(圖片水?。?,支持水印透明度設(shè)置,也支持png透明背景格式圖片打水印2013-01-01Symfony2實(shí)現(xiàn)從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)的方法小結(jié)
這篇文章主要介紹了Symfony2實(shí)現(xiàn)從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)的方法,結(jié)合實(shí)例形式總結(jié)分析了常用的Symfony數(shù)據(jù)庫(kù)查詢技巧,需要的朋友可以參考下2016-03-03PHP實(shí)現(xiàn)生成透明背景的PNG縮略圖函數(shù)分享
這篇文章主要介紹了PHP實(shí)現(xiàn)生成透明背景的PNG縮略圖函數(shù)分享,需要的朋友可以參考下2014-07-07