本文目錄一覽:
- 1、php批量水印添加源碼
- 2、php 如何檢查圖片是否已經加過水印? 求解
- 3、php如何給excel表格添加水印
- 4、php文字水印,水印會根據圖片的大小自動變化
- 5、php圖片水印代碼問題拜託了各位 謝謝
php批量水印添加源碼
這個要用到文件列遍函數
$dir=”./images/*.jpg”; //以jpg圖片為例
$image_files=glob($dir); //將目錄中指定類型文件url讀入$image_files數組
然後用循環語句進行添加水印
for($i=0;$icount($image_files);$i++)
{
//調用圖片文件
$this_image=$image_files[$i];
//添加水印代碼
}
php 如何檢查圖片是否已經加過水印? 求解
在php採集的時候,尤其是大量的自動採集的時候,加了水印的圖片想程序自動鑒別。
你是這種想法嗎?
這種想法可以,但沒有這種方法。以前沒有,今後也不會有。
水印和圖片已經形成一張新圖片了,不要說PHP對圖片沒有識別能力,就算PHP對圖片有識別能力,它也沒有辦法識別圖片上哪個屬於圖片內容,哪個屬於水印內容。
但是,我們就沒有辦法處理水印的問題嗎?辦法肯定是有的。我提供幾種思路:
1、我們自己建立一個無水印網站地址庫,這個由我們日常來管理。php通過圖片的真實地址,屬於無水印網站地址範圍,就認為是無水印的。不在範圍內的,就作為有水印處理。
2、如果我們固定從某個大站取圖片,它的圖片有的有水印,有的無水印,而且有水印的都是那麼固定的格式,那我們就根據它的方法,在水印上添加我們的水印。但這不是萬能的,如果它在圖片上全部鋪滿它的logo或者網址,像貼滿膏藥一樣無法下手,我們只能對此說sorry,換個網站吧。
php如何給excel表格添加水印
1
首先打開excel界面,進入excel工作區
步驟閱讀
2
然後隨便選擇一個單元格,點擊選中
步驟閱讀
3
之後點擊工具欄上的「插入」按鈕,點擊「藝術字」選項
步驟閱讀
4
在彈出的藝術字選項列表中,選中一個藝術字,將其選中
步驟閱讀
5
然後就可以在文本框中輸入文字信息了,比如輸入涉密文字信息
步驟閱讀
6
點擊選中該藝術字,然後點擊右鍵,彈出的菜單項中,點擊「設置文本效果格式」,進入設置界面
步驟閱讀
7
點擊「文本填充」選項,選中純色填充,在顏色選擇框中,選擇一個灰色的顏色,然後將透明度根據情況進行設置,我們就能得到具有水印效果的excel文本了
步驟閱讀
步驟閱讀
END
php文字水印,水印會根據圖片的大小自動變化
這個好像有點複雜哦
一般水印都是用GD庫函數實現的,你可以把上傳的圖片長寬取出來,這應該不難吧,然後根據需要在你實現水印的函數里根長寬參數關聯,應該就能實現。
php圖片水印代碼問題拜託了各位 謝謝
不顯示的話就是你沒輸出來,請參考以下代碼重新檢查一遍: ——————————華麗分割線————————————- ? /* * 功能:PHP圖片水印 (水印支持圖片或文字) * 參數: * $groundImage 背景圖片,即需要加水印的圖片,暫只支持GIF,JPG,PNG格式; * $waterPos 水印位置,有10種狀態,0為隨機位置; * 1為頂端居左,2為頂端居中,3為頂端居右; * 4為中部居左,5為中部居中,6為中部居右; * 7為底端居左,8為底端居中,9為底端居右; * $waterImage 圖片水印,即作為水印的圖片,暫只支持GIF,JPG,PNG格式; * $waterText 文字水印,即把文字作為為水印,支持ASCII碼,不支持中文; * $fontSize 文字大小,值為1、2、3、4或5,默認為5; * $textColor 文字顏色,值為十六進位顏色值,默認為#CCCCCC(白灰色); * $fontfile ttf字體文件,即用來設置文字水印的字體。使用windows的用戶在系統盤的目錄中 * 搜索*.ttf可以得到系統中安裝的字體文件,將所要的文件拷到網站合適的目錄中, * 默認是當前目錄下arial.ttf。 * $xOffset 水平偏移量,即在默認水印坐標值基礎上加上這個值,默認為0,如果你想留給水印留 * 出水平方向上的邊距,可以設置這個值,如:2 則表示在默認的基礎上向右移2個單位,-2 表示向左移兩單位 * $yOffset 垂直偏移量,即在默認水印坐標值基礎上加上這個值,默認為0,如果你想留給水印留 * 出垂直方向上的邊距,可以設置這個值,如:2 則表示在默認的基礎上向下移2個單位,-2 表示向上移兩單位 * 返回值: * 0 水印成功 * 1 水印圖片格式目前不支持 * 2 要水印的背景圖片不存在 * 3 需要加水印的圖片的長度或寬度比水印圖片或文字區域還小,無法生成水印 * 4 字體文件不存在 * 5 水印文字顏色格式不正確 * 6 水印背景圖片格式目前不支持 * 修改記錄: * * 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG * $waterImage 和 $waterText 最好不要同時使用,選其中之一即可,優先使用 $waterImage。 * 當$waterImage有效時,參數$waterString、$stringFont、$stringColor均不生效。 * 加水印後的圖片的文件名和 $groundImage 一樣。 * 作者:高西林 * 日期:2007-4-28 * 說明:本程序根據longware的程序改寫而成。 */ function imageWaterMark($groundImage,$waterPos=0,$waterImage=””,$waterText=””,$fontSize=12,$textColor=”#CCCCCC”, $fontfile=’./arial.ttf’,$xOffset=0,$yOffset=0) { $isWaterImage = FALSE; //讀取水印文件 if(!empty($waterImage) file_exists($waterImage)) { $isWaterImage = TRUE; $water_info = getimagesize($waterImage); $water_w = $water_info[0];//取得水印圖片的寬 $water_h = $water_info[1];//取得水印圖片的高 switch($water_info[2]) { //取得水印圖片的格式 case 1:$water_im = imagecreatefromgif($waterImage);break; case 2:$water_im = imagecreatefromjpeg($waterImage);break; case 3:$water_im = imagecreatefrompng($waterImage);break; default:return 1; } } //讀取背景圖片 if(!empty($groundImage) file_exists($groundImage)) { $ground_info = getimagesize($groundImage); $ground_w = $ground_info[0];//取得背景圖片的寬 $ground_h = $ground_info[1];//取得背景圖片的高 switch($ground_info[2]) { //取得背景圖片的格式 case 1:$ground_im = imagecreatefromgif($groundImage);break; case 2:$ground_im = imagecreatefromjpeg($groundImage);break; case 3:$ground_im = imagecreatefrompng($groundImage);break; default:return 1; } } else { return 2; } //水印位置 if($isWaterImage) { //圖片水印 $w = $water_w; $h = $water_h; $label = “圖片的”; } else { //文字水印 if(!file_exists($fontfile))return 4; $temp = imagettfbbox($fontSize,0,$fontfile,$waterText);//取得使用 TrueType 字體的文本的範圍 $w = $temp[2] – $temp[6]; $h = $temp[3] – $temp[7]; unset($temp); } if( ($ground_w $w) || ($ground_h $h) ) { return 3; } switch($waterPos) { case 0://隨機 $posX = rand(0,($ground_w – $w)); $posY = rand(0,($ground_h – $h)); break; case 1://1為頂端居左 $posX = 0; $posY = 0; break; case 2://2為頂端居中 $posX = ($ground_w – $w) / 2; $posY = 0; break; case 3://3為頂端居右 $posX = $ground_w – $w; $posY = 0; break; case 4://4為中部居左 $posX = 0; $posY = ($ground_h – $h) / 2; break; case 5://5為中部居中 $posX = ($ground_w – $w) / 2; $posY = ($ground_h – $h) / 2; break; case 6://6為中部居右 $posX = $ground_w – $w; $posY = ($ground_h – $h) / 2; break; case 7://7為底端居左 $posX = 0; $posY = $ground_h – $h; break; case 8://8為底端居中 $posX = ($ground_w – $w) / 2; $posY = $ground_h – $h; break; case 9://9為底端居右 $posX = $ground_w – $w; $posY = $ground_h – $h; break; default://隨機 $posX = rand(0,($ground_w – $w)); $posY = rand(0,($ground_h – $h)); break; } //設定圖像的混色模式 imagealphablending($ground_im, true); if($isWaterImage) { //圖片水印 imagecopy($ground_im, $water_im, $posX + $xOffset, $posY + $yOffset, 0, 0, $water_w,$water_h);//拷貝水印到目標文件 } else {//文字水印 if( !empty($textColor) (strlen($textColor)==7) ) { $R = hexdec(substr($textColor,1,2)); $G = hexdec(substr($textColor,3,2)); $B = hexdec(substr($textColor,5)); } else { return 5; } imagettftext ( $ground_im, $fontSize, 0, $posX + $xOffset, $posY + $h + $yOffset, imagecolorallocate($ground_im, $R, $G, $B), $fontfile, $waterText); } //生成水印後的圖片 @unlink($groundImage); switch($ground_info[2]) {//取得背景圖片的格式 case 1:imagegif($ground_im,$groundImage);break; case 2:imagejpeg($ground_im,$groundImage);break; case 3:imagepng($ground_im,$groundImage);break; default: return 6; } //釋放內存 if(isset($water_info)) unset($water_info); if(isset($water_im)) imagedestroy($water_im); unset($ground_info); imagedestroy($ground_im); // return 0; } ? ?php ////////////////////// if(isset($_POST[‘submit’])) { if(isset($_FILES) !empty($_FILES[‘userfile’]) $_FILES[‘userfile’][‘size’]0) { $uploadfile = “./”.time().”_”.$_FILES[‘userfile’][‘name’]; if (copy($_FILES[‘userfile’][‘tmp_name’], $uploadfile)) { if($_POST[‘watertype’] == 0) { $msg = “returnvalue=”.imageWaterMark($uploadfile,$_POST[‘waterpos’],””,$_POST[‘watercontent’],$_POST[‘fontsize’],$_POST[‘fontcolor’],$_POST[‘fontfile’],$_POST[‘xoffset’],$_POST[‘yoffset’]); } else { $msg = “returnvalue=”.imageWaterMark($uploadfile,$_POST[‘waterpos’],$_POST[‘watercontent’]); } echo “img src=\””.$uploadfile.”\” border=\”0\””; } else { $msg = “Fail!”; } } } ? html head meta http-equiv=content-type content=”text/html; charset=utf-8″ title水印函數測試/title /head body form enctype=”multipart/form-data” method=”POST” table tr tdinput name=”watertype” type=”radio” value=0 checked文字水印 input type=”radio” name=”watertype” value=1水印圖片/td /tr tr tdinput name=”watercontent” value=”blog.csdn.net/alin0725″水印文字內容或水印圖片文件名/td /tr tr tdinput name=”fontcolor” value=”#CCCCCC”文字水印顏色/td /tr tr tdinput name=”fontsize” value=”10″文字字體大小/td /tr tr tdinput name=”fontfile” value=”./arial.ttf”文字字體文件ttf格式/td /tr tr td水印位置input name=”waterpos” value=0 0為隨機,其他位置值如下: table tr td1/td td2/td td3/td /tr tr td4/td td5/td td6/td /tr tr td7/td td8/td td9/td /tr /table /td /tr tr tdx方向上的偏移量input name=”xoffset” value=0 y方向上的偏移量input name=”yoffset” value=0 /td tr tr td背景圖片: input name=”userfile” type=”file” /td /tr tr tdinput type=”submit” name=”submit” value=”提交”/td /tr tr td消息:?php echo $msg; ?/td /tr /table /form /body /html
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/196813.html