PHP实例制作水印图片

php中文网
发布: 2016-06-23 13:49:45
原创
1402人浏览过

目前qq空间和新浪微博等社交软件中,分享的图片大多都是添加水印的。添加水印之后的照片也就变得独一无二了,好像就是添加了一个专属的个人签名。可以很好的防止别人盗用你的照片,也能够让别人一看水印就能在上面得到一些关于照片的信息。今天写了一个给图片添加水印的函数,和大家分享一下。有了这个函数,给照片添加水印就显的方便多了。其实原理很简单,原图是一张图片,水印其实也是一张图片,只不过有的水印是白色或透明色背景,然后两张图片进行合成,就成了水印图片。

1.制作水印图片所需php函数

(1)getimagesize();

(2)imagecreatefromgif();imagecreatefromjpeg();imagecreatefrompng;

(3)imagecogy();

(4)imagegif();imagejpeg();imagepng();

立即学习PHP免费学习笔记(深入)”;

具体函数如何使用,我就不细讲了,大家可以参考php参考手册

2.代码分享

AI改图神器
AI改图神器

AI万能图片编辑器,一键抠图,去水印,智能图片美化,照片转漫画,照片变活转视频,图片无损放大,一键背景虚化,位图智能转矢量图

AI改图神器 37
查看详情 AI改图神器
<?phpfunction watermark($maxfile,$minfile){	//获取大小图信息	$maxarr=getimagesize($maxfile);	$minarr=getimagesize($minfile);	$max_width=$maxarr[0];	$max_height=$maxarr[1];	$max_format=$maxarr[2];	$max_mime=$maxarr['mime'];		$min_width=$minarr[0];	$min_height=$minarr[1];	$min_format=$minarr[2];	//$min_mime=$minarr['mime'];                //判断大小图格式	switch($max_format){		case 1:			$max_createimg="imagecreatefromgif";			$max_outimg="imagegif";			break;		case 2:			$max_createimg="imagecreatefromjpeg";			$max_outimg="imagejpeg";			break;		case 3:			$max_createimg="imagecreatefrompng";			$max_outimg="imagepng";			break;	}	switch($min_format){		case 1:			$min_createimg="imagecreatefromgif";			break;		case 2:			$min_createimg="imagecreatefromjpeg";			break;		case 3:			$min_createimg="imagecreatefrompng";			break;	}	//创建大小图资源	$maxim=$max_createimg($maxfile);	$minim=$min_createimg($minfile);		//两张图的尺寸差	$D_value_x=$max_width-$min_width;	$D_value_y=$max_height-$min_height;		//添加水印	imagecopy($maxim,$minim,$D_value_x,$D_value_y,0,0,$min_width,$min_height);		//保存水印图片	header("content-type:{$max_mime}");	$max_outimg($maxim,"watermark.jpg");}watermark("picture/apple.jpg","picture/copypic.jpg");?>
登录后复制

3.说几点代码中可能不太好理解的地方

(1)因为不同格式的图片所需要的函数后缀是不一样的,所以必须在使用函数创建资源和保存水印图片前进行判断图片格式。

(2)计算两个图片的尺寸差,是为了将小图很好的添加到大图的右下角(大多水印都是添加到右下角的吧)。

4.整体可以优化的地方

(1)两个switch总觉得有点多了。如果放到if语句或者for循环中,肯定能整合一下。好饿,所以以后在优化这个问题(明显是给自己找借口)。

(2)我用的水印直接是另一张尺寸较小的图片。然而实际的水印大多是一行字,一个网址,一个时间等。可以用做制作验证码的方法,制作水印。然后将水印所需要的文字作为函数的参数,就可以在一张图片中添加自己想要的水印,同时水印的生成也不需要去找图片,完全自动生成。


相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号