两种php给图片加水印的实现代码


Posted in PHP onApril 18, 2020

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给图片加文字水印

<?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字体的路径*/
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 相关文章推荐
将数字格式的计算结果转为汉字格式
Oct 09 PHP
特转载一高手总结PHP学习资源和链接.
Dec 05 PHP
用PHP将数据导入到Foxmail的实现代码
Sep 05 PHP
php学习之变量的使用
May 29 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
php mysql 判断update之后是否更新了的方法
Jan 10 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
php使用ob_start()实现图片存入变量的方法
Nov 14 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 PHP
php简单生成随机数的方法
Jul 30 #PHP
php简单判断文本编码的方法
Jul 30 #PHP
php实现的数字验证码及数字运算验证码
Jul 30 #PHP
Thinkphp+smarty+uploadify实现无刷新上传
Jul 30 #PHP
PHP实现批量修改文件后缀名的方法
Jul 30 #PHP
PHP实现抓取迅雷VIP账号的方法
Jul 30 #PHP
PHP定时执行任务实现方法详解(Timer)
Jul 30 #PHP
You might like
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
php基础知识:控制结构
2006/12/13 PHP
php mysql索引问题
2008/06/07 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
js识别uc浏览器的代码
2015/11/06 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
python根据文件大小打log日志
2014/10/09 Python
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
解决pytorch GPU 计算过程中出现内存耗尽的问题
2019/08/19 Python
Python图片的横坐标汉字实例
2019/12/04 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
python 读写文件包含多种编码格式的解决方式
2019/12/20 Python
如何完美的建立一个python项目
2020/10/09 Python
Marriott中国:万豪国际酒店查询预订
2016/09/02 全球购物
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
Linux中如何设置Java环境变量(Ubuntu)
2016/07/24 面试题
教师演讲稿范文
2014/01/08 职场文书
初中新生军训方案
2014/05/13 职场文书
丧事答谢词
2015/01/05 职场文书
三八妇女节慰问信
2015/02/14 职场文书
银行求职自荐信范文
2015/03/04 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android