为了防止辛苦做出来的图片被盗用,很多照片都会加上水印,可以直接用图片工具添加水印再上传,但PHP中就可以实现给图片加水印的功能,本文章向码农们介绍 php 给图片加水印的两种方法,感兴趣的码农可以参考一下本文章的源代码。

方法一:PHP最简单的加水印方法

$img = imagecreatefromjpeg($filename);

$logo = imagecreatefromjpeg($filename);

/*imagecraetefromjpeg-由文件或URL创建一个新图像

imagecreatefromjpeg(string $filename)

如果启用了fopen包装器,URL可以作为文件名*/

imagecopy($img,$logo,15,15,0,0,$width,$height);

/*imagecopy($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h)

$dst_im是背景图像,就是需要添加水印的图片

$src_im是水印图片;$dst_x,#dst_y需要把水印放到背景图片的(x,y)坐标;

$src_x,$src_y是截取水印的图片的开始坐标

$width,$height是截取的图片的就是水印的长度和宽度*/

$url = 'http://www.stchat.cn/data/attachment/forum/201506/12/100759pidbdaydh8dy7iby.jpg';

$content = file_get_contents($url);//把url写入到content这个变量里面

/*file_get_contents--将整个文件读入到一个字符串*/

$filename = 'tmp.jpg';

file_put_contents($filename,$content);

//把所有内容放到filename这个变量里面,第一个存放的是背景图片

/*file_put_contents(string $filename,mixed $data)将一个字符串写入一个文件

filename要被写入数据的文件名

data要写入的数据,类型可以是string,array或者是stream资源*/

$url = '';

file_put_contents('logo.png',file_get_contents($url));

//第二个是水印的图片

$img = imagecreatefromjpeg($filename);

$logo = imagecreatefrompng('logo.png');

$size = getimagesize('logo.png');

/*getimagesize()获得图像大小*/

imagecopy($img,$logo,15,15,0,0,$size[0],$size[1]);

header("centent-type:image/jpeg");

imagejpeg(img);

?>

方法二:php给图片加文字水印

/*给图片加文字水印的方法*/

$dst_path = 'http://f4.topitme.com/4/15/11/1166351597fe111154l.jpg';

$dst = imagecreatefromstring(file_get_contents($dst_path));

/*imagecreatefromstring()--从字符串中的图像流新建一个图像,返回一个图像标示符,其表达了从给定字符串得来的图像

图像格式将自动监测,只要php支持jpeg,png,gif,wbmp,gd2.*/

$font = './t1.ttf';

$black = imagecolorallocate($dst, 0, 0, 0);

imagefttext($dst, 20, 0, 10, 30, $black, $font, 'Hello world!');

/*imagefttext($img,$size,$angle,$x,$y,$color,$fontfile,$text)

$img由图像创建函数返回的图像资源

size要使用的水印的字体大小

angle(角度)文字的倾斜角度,如果是0度代表文字从左往右,如果是90度代表从上往下

x,y水印文字的第一个文字的起始位置

color是水印文字的颜色

fontfile,你希望使用truetype字体的路径

http://www.manongjc.com/article/1302.html */

list($dst_w,$dst_h,$dst_type) = getimagesize($dst_path);

/*list(mixed $varname[,mixed $......])--把数组中的值赋给一些变量

像array()一样,这不是真正的函数,而是语言结构,List()用一步操作给一组变量进行赋值*/

/*getimagesize()能获取到什么信息?

getimagesize函数会返回图像的所有信息,包括大小,类型等等*/

switch($dst_type){

case 1://GIF

header("content-type:image/gif");

imagegif($dst);

break;

case 2://JPG

header("content-type:image/jpeg");

imagejpeg($dst);

break;

case 3://PNG

header("content-type:image/png");

imagepng($dst);

break;

default:

break;

/*imagepng--以PNG格式将图像输出到浏览器或文件

imagepng()将GD图像流(image)以png格式输出到标注输出(通常为浏览器),或者如果用filename给出了文件名则将其输出到文件*/

}

imagedestroy($dst);

?>

希望本文所述对大家PHP程序设计有所帮助。

给图片加上水印php视频,如何使用PHP给图片加水印相关推荐

  1. 如何用手机打开dcm格式图片_如何防止自己的图片被盗用?这 4 招教你优雅加水印...

    出门旅游一趟,好不容易拍到一组相当满意的图片.想要把这些图片上传到社交平台,如何才能让大家一看就知道这是自己拍的作品,同时又防止盗图呢? 答案是在图片上加上自己的水印,这次有用功将和大家分享下,如何快 ...

  2. 如何给视频添加水印?这三个加水印的方法让你实现

    水印其实就是一种标记,例如公司的名称.品牌名称或者logo,它可以给我们制作的东西起到保护版权的作用,除此之外,它还能起到品牌宣传的作用.所以很多人在发布视频之前,都会在视频上面添加一个或多个专属的水 ...

  3. java ueditor 图片上传加水印_关于ueditor多图上传加水印

    最近小二哥应运营要求,需在后台编辑器做图片添加水印功能,由于ueditor编辑器本身没有添加水印的功能: 所以小二哥参考了网上的一些方法,加上实现的步骤整理成文档,希望对需要的人有帮助. 1.打开ue ...

  4. ffmpeg分割视频,制作gif图,加水印、去水印,视频拼接

    一.分割视频 进入ffmpeg的目录: (1)执行从0分钟开始,剪切5分钟: ./ffmpeg -ss 00:00:00 -i /111/Movies/a2009.mp4 -t 00:05:00 a2 ...

  5. 史林枫:C#.NET利用ffmpeg操作视频实战(格式转换,加水印 一步到位)

    ffmpeg.exe是大名鼎鼎的视频处理软件,以命令行参数形式运行.网上也有很多关于ffmpeg的资料介绍.但是在用C#做实际开发时,却遇到了几个问题及注意事项,比如如何无损处理视频?如何在转换格式的 ...

  6. php图像处理类实现缩放 裁剪 加水印,ThinkPHP图像的裁剪、缩放、加水印

    ThinkPHP 图片处理函数,需要文字水印字体,可在windows下 控制面板 > 大图标(右上角) > 字体 找到需要的字体 /** * 图像的裁剪.缩放.加水印 * @param s ...

  7. java pdf加水印 性能_利用java批量给pdf加水印的方法示例

    前言 最近因为工作需要,要批量在pdf上加水印,但找了一圈pdf在mac下的水印工具,都不太好用,索性就用java写一个吧. 以下代码依赖itext5.3.3包,java操作pdf 依靠itext5. ...

  8. php生成pdf水印,使用 PHP 在 PDF 文档中加水印并进行文档加密

    前言 在使用 PHP 在 PDF 文件上打水印的过程中,我尝试了如下几个工具: 因为想满足对中文水印的支持,并对 PDF 文档进行加密,最终使用 FPDI + TCPDF 的方案完成功能. 正文 打水 ...

  9. Android视频编辑器(三)给本地视频加水印和美颜滤镜

    前言          在上两篇文章中,我们分别实现了通过OpenGL预览.录制视频,以及在预览和录制的时候加上视频水印和美白效果,而作为一个视频编辑器,当然不仅仅是录制视频,也会有从本地选择视频,然 ...

最新文章

  1. vue代码转换成小程序
  2. Linux学习4-文件系统介绍
  3. nginx反向代理相关 负载均衡及优化
  4. c++代码整洁之道pdf_别再问如何用python提取PDF内容了
  5. 免费的图标网站汇总,天气图标主题汇总
  6. 数据结构与算法之栈的用法
  7. Tabio – 轻松,高效的管理 Chrome 标签页
  8. Linux下修改TomcatJVM内存大小
  9. ssm(spring + spring-mvc + mybatis)整合
  10. 卫星地图上,深圳梧桐山这一条白线是什么
  11. c语言编辑工具下载,Turbo C-Turbo C2.0-Turbo C下载 v2.0.0.0官方正式版-完美下载
  12. Windows Server 2019 安装应用商店
  13. LaTeX 中的数学字体
  14. arm应用程序之文件读写操作差异open与fopen
  15. 反讽检测(Sarcasm Detection)
  16. SIPP对Freeswitch进行压力测试
  17. 重庆大学计算机学院最好老师,“一切都是最好的安排”——蒲俊杰老师喜获重庆大学“最受学生欢迎老师”称号...
  18. 瑞隆源SMD3225气体放电管(GDT)系列
  19. 成语填字接龙隐私政策
  20. 高德离线地图WMS/WMTS服务

热门文章

  1. Java爬虫——爬取体彩网足球赛果
  2. 【pGCYH-01】元旦联欢会
  3. 感觉有些阴险的阿里妈妈广告。。。。
  4. js中every用法_详解JavaScript中的every()方法
  5. 2021年熔化焊接与热切割试题及解析及熔化焊接与热切割模拟试题
  6. 关于python的常量和变量下列描述正确的是_下面关于数据类型说法正确的是?
  7. 我要找什么样的女朋友?
  8. GitHub 版本控制 项目托管 04 创建GitHub远程仓库-阿里云开发者社区
  9. 林语堂告倒世界书局内幕
  10. 我是一个搞IT的农民工