php制作水印图片,PHP实例制作水印图片
目前QQ空间和新浪微博等社交软件中,分享的图片大多都是添加水印的。添加水印之后的照片也就变得独一无二了,好像就是添加了一个专属的个人签名。可以很好的防止别人盗用你的照片,也能够让别人一看水印就能在上面得到一些关于照片的信息。今天写了一个给图片添加水印的函数,和大家分享一下。有了这个函数,给照片添加水印就显的方便多了。其实原理很简单,原图是一张图片,水印其实也是一张图片,只不过有的水印是白色或透明色背景,然后两张图片进行合成,就成了水印图片。 1.制作水印图片所需php函数
(1)getimagesize();
(2)imagecreatefromgif();imagecreatefromjpeg();imagecreatefrompng;
(3)imagecogy();
(4)imagegif();imagejpeg();imagepng();
具体函数如何使用,我就不细讲了,大家可以参考php参考手册 2.代码分享
3.说几点代码中可能不太好理解的地方
(1)因为不同格式的图片所需要的函数后缀是不一样的,所以必须在使用函数创建资源和保存水印图片前进行判断图片格式。
(2)计算两个图片的尺寸差,是为了将小图很好的添加到大图的右下角(大多水印都是添加到右下角的吧)。 4.整体可以优化的地方
(1)两个switch总觉得有点多了。如果放到if语句或者for循环中,肯定能整合一下。好饿,所以以后在优化这个问题(明显是给自己找借口)。
(2)我用的水印直接是另一张尺寸较小的图片。然而实际的水印大多是一行字,一个网址,一个时间等。可以用做制作验证码的方法,制作水印。然后将水印所需要的文字作为函数的参数,就可以在一张图片中添加自己想要的水印,同时水印的生成也不需要去找图片,完全自动生成。
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php制作水印图片,PHP实例制作水印图片相关推荐
- OpenCV显示图片的实例(附完整代码)
OpenCV显示图片的实例 OpenCV显示图片的实例 OpenCV显示图片的实例 #include <opencv2/core.hpp> #include <opencv2/img ...
- PHP实例————制作水印图片
目前QQ空间和新浪微博等社交软件中,分享的图片大多都是添加水印的.添加水印之后的照片也就变得独一无二了,好像就是添加了一个专属的个人签名.可以很好的防止别人盗用你的照片,也能够让别人一看水印就能在上面 ...
- php制作水印案例,php 给图片添加水印 实例
方法已经放在下面了: /** * 添加图片水印 * * @param $picPath * @param $logoPath */ private function _addWaterMark($pi ...
- 【python 水印生成器】python制作图片水印
制作一个水印生成器,方便训练水印图片数据采集. 图片水印生成器,可以给指定图片文件或者目录添加水印,水印支持自定义文本.位置.颜色.大小. # -*- encoding=utf-8 -*- impor ...
- php制作白色背景图加字,PHP实现水印类,支持添加图片、文字、填充颜色区域
本篇文章主要介绍PHP实现水印类,支持添加图片.文字.填充颜色区域,感兴趣的朋友参考下,希望对大家有所帮助. *自己整理的一个水印类* 支持添加图片.文字.填充颜色区域 /** * 图片加水印类,支持 ...
- 通过学习制作长微博工具来了解水印的制作,及EditText中的内容在图片中换行显示
长微博工具非常有用,140字的要求可能阻止你写更多的内容,于是长微博工具应运而生,虽然网上有很多长微博工具,但是我都不是很满意,所以自己想做一个,通过做这个长微博工具,我学习到了很多东西,有两个难点, ...
- 水印图像读取与制作,三通道图转为4通道,制作透明图
def watermark_handle(watermark_path):'''水印图像读取与制作,三通道图转为4通道,制作透明图:param watermark_path: 水印图像路径:retur ...
- 免费加水印小程序怎么制作
免费加水印小程序怎么制作 全屏水印 全文覆盖,完全保护 隐形水印 肉眼不可见,隐形保护 超级横幅 更多用于宣传 专属水印 头像+昵称就制作水印 完整资源获取 项目获取:typora: typora/i ...
- php 上传加水印,PHP 图片上传加水印实例
function imageWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="",$t ...
- php 图片上传添加水印,PHP 图片上传加水印实例
function p_w_picpathWaterMark($groundImage,$waterPos=0,$waterImage="",$waterText="&qu ...
最新文章
- [C#]关于override和new在重写方法时的区别
- 实验报告书 c语言,c语言实验报告书.doc
- python中深浅复制教程
- 在RelativeLayout中对控件的显示隐藏操作问题
- 到 2022 年,75% 的数据库将托管在云端
- MySQL-数据操作-增删改查
- informatica 常见问题及解决方案
- log4cplus:一个按天为单位、按不同类型归类的配置文件
- JavaScript中的语言结构知识点总结(附实例、图解)
- UG NX 12 重复命令
- json多层集合转对象
- Python爬虫案例:下载酷某音乐文件
- android手机无法开机自动启动,手机无法开机怎么刷机?安卓手机救砖教程
- Mentor.Graphics.FloTHERM.XT.2.3+Mentor.Graphics.Flowmaster.7.9.4
- 最快的BT软件rtorrent Step by Step指南
- 安庆集团-冲刺日志(第一天)
- 对比分析163VIP邮箱费用,原来有这么多的好处!
- faststone capture使用长截图(滚动截图)功能教程
- 【超详细】对比10种优化函数BGD、SGD、mini-batch GD、Momentum、NAG、Adagrad、RMSProp、Adadelta、Adam、AMSgrad
- Flutter 学习之打包 - 纯Flutter项目生成Android包