说明:可以设置来路,这样如果有人盗链,就会显示水印,本站则不会。
- <?php
- // # 配置文件
- $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); //输出图像
- ?>
一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。