<?php // # 設定檔 php100.com $floder = ''; #圖片儲存檔案夾 $waterpic = 'win.png'; #浮水印圖片地址 $referer = 'kalvin'; #來源頁包含字串 // # 設定檔 header("Content-type: image/png"); # 設定輸出檔案頭 $filename = $floder . $_GET["filename"]; # 設定源檔案地址 $sourceImg = imagecreatefromjpeg($filename); # 讀取源映像 $waterImg = imagecreatefrompng($waterpic); # 讀取浮水印標誌 $bg_color = imagecolorat($waterImg, 1, 1); # 取出標誌中需要設為透明的顏色 imagecolortransparent($waterImg, $bg_color); # 設定標誌中需要透明的顏色 $sourceX = imagesx($sourceImg); # 取得源映像寬度 $sourceY = imagesy($sourceImg); # 取得源映像高度 $waterX = imagesx($waterImg); # 取得標誌像寬度 $waterY = imagesy($waterImg); # 取得標誌像高度 $x = ($sourceX - $waterX) / 2; $y = ($sourceY - $waterY) / 2; #計算中心位置 if (isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], $referer) == false) { imagecopymerge($sourceImg, $waterImg, $x, $y, 0, 0, $waterX, $waterY, 80); #合并映像 合并度設定為50 .100為完全合并.相當於把第二個參數裡的映像透明到原來的50/100然後貼到第一個參數的映像裡 } imagepng($sourceImg); #輸出映像 php100.com ?>