PHP圖片處理之使用imagecopy函數(shù)添加圖片水印實(shí)例
為圖片添加水印也是圖片處理中常見(jiàn)的功能。因?yàn)橹灰陧?yè)面中見(jiàn)到的圖片都可以很輕松地拿到,你辛辛苦苦編輯的圖片不想被別人不費(fèi)吹灰之力拿走就用,所以為圖片添加水印以確定版權(quán),防止圖片被盜用。制作水印可以使用文字(公司名稱加網(wǎng)址),也可以使用圖片(公司LOGO),圖片水印效果更好一些,因?yàn)榭梢酝ㄟ^(guò)一些做圖片軟件進(jìn)行美化。使用文字做水印,只需要在圖片上畫(huà)一些文字即可。如果制作圖片水印,就需要先了解一下GD庫(kù)中的imagecopy()函數(shù),能復(fù)制圖片的一部分。該函數(shù)的原型如下所示:
bool 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開(kāi)始,寬度為src_w,高度為src_h的一部分復(fù)制到dst_im圖像中坐標(biāo)為dst_x和dst_y的位置上。以JPEG格式的圖片為例,編寫(xiě)一個(gè)為圖片添加水印的函數(shù)watermark(),代碼如下所示:
<?php
//為背景圖片添加圖片水印(位置隨機(jī)),背景圖片格式為jpeg,水印圖片格式為gif
function watermark($filename,$water){
//獲取背景圖片的寬度和高度
list($b_w,$b_h) = getimagesize($filename);
//獲取水印圖片的寬度和高度
list($w_w,$w_h) = getimagesize($water);
//在背景圖片中放水印圖片的位置隨機(jī)起始位置
$posX = rand(0, ($b_w-$w_w));
$posY = rand(0, ($b_h-$w_h));
//創(chuàng)建背景圖片的資源
$back = imagecreatefromjpeg($filename);
//創(chuàng)建水印圖片的資源
$water = imagecreatefromgif($water);
//使用imagecopy()函數(shù)將水印圖片復(fù)制到背景圖片指定的位置中
imagecopy($back, $water, $posX, $posY, 0, 0, $w_w, $w_h);
//保存帶有水印圖片的背景圖片
imagejpeg($back,$filename);
imagedestroy($back);
imagedestroy($water);
}
watermark("brophp.jpg", "logo.gif");
?>
相關(guān)文章
php中對(duì)xml讀取的相關(guān)函數(shù)的介紹一
php中對(duì)xml讀取的相關(guān)函數(shù)的介紹整理如下2008-06-06
php使用post數(shù)組的鍵值創(chuàng)建同名變量并賦值的方法
這篇文章主要介紹了php使用post數(shù)組的鍵值創(chuàng)建同名變量并賦值的方法,涉及php操作數(shù)組的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
php連接Access數(shù)據(jù)庫(kù)錯(cuò)誤及解決方法
前二天把一個(gè)asp+access的網(wǎng)站改成php+access的,在連連數(shù)據(jù)庫(kù)時(shí)可真讓我狠狠的郁悶了一把,通過(guò)百度了大量的相關(guān)文章終于解決了2013-06-06
使用JSON實(shí)現(xiàn)數(shù)據(jù)的跨域傳輸?shù)膒hp代碼
某網(wǎng)站后臺(tái)用php腳本得到一個(gè)JSON格式的數(shù)據(jù),交給前臺(tái)javascript進(jìn)行處理,使用JSON實(shí)現(xiàn)數(shù)據(jù)的跨域調(diào)用2011-12-12
php判斷上傳的Excel文件中是否有圖片及PHPExcel庫(kù)認(rèn)識(shí)
php判斷Excel文件中是否有圖片,大家很想知道如何實(shí)現(xiàn)吧,不要走開(kāi)接下來(lái)為您揭曉,感興趣的朋友可以了解下哦2013-01-01
php 驗(yàn)證碼(傾斜,正弦干擾線,黏貼,旋轉(zhuǎn))
本篇文章是對(duì)php 驗(yàn)證碼(傾斜,正弦干擾線,黏貼,旋轉(zhuǎn))進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php max_execution_time執(zhí)行時(shí)間問(wèn)題
大部分PHP代碼執(zhí)行時(shí)間都不會(huì)很久。但是有些時(shí)候,比如等待圖片上傳,可能執(zhí)行時(shí)間過(guò)長(zhǎng)導(dǎo)致超時(shí)。2011-07-07
Zend Framework上傳文件重命名的實(shí)現(xiàn)方法
這篇文章主要介紹了Zend Framework上傳文件重命名的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Zend Framework上傳文件重命名的具體操作步驟與配置、檢測(cè)、重命名操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-11-11

