我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用TP5.1 怎么为图片添加水印

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用TP5.1 怎么为图片添加水印

这篇文章将为大家详细讲解有关使用TP5.1 怎么为图片添加水印,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

在 Linux 和 Mac OS X 中可以运行如下命令:

curl -sS https://getcomposer.org/installer | phpmv composer.phar /usr/local/bin/composer

在 Windows 中,你需要下载并运行 Composer-Setup.exe。具体的安装在这里就不详说了,安装完成Composer软件之后,就需要安装图片插件了,打开运行窗口(系统键+R),输入cmd,回车后,定位到自己的项目目录,然后运行:composer require topthink/think-image

安装完成后就可以进行下一步的工作了。

下面是我的部分代码,仅供大家参考。

【HTML】

<!DOCTYPE html><html><head>   <meta charset="UTF-8">   <title>{$site.company}会员管理系统</title>   <link rel="stylesheet" href="layui/css/layui.css">   <link rel="stylesheet" href="/css/main.css">   <script type="text/javascript" class="lazy" data-src="layui/layui.js"></script></head><body>   <div>       <div>           <label>照片上传</label>           <div>               <input type="text" name="face" id="face" placeholder="请上传照片">           </div>           <div style="width: 80px!important;">               <button type="button" id="face1">上传照片</button>           </div>       </div>       <div>           <div>               <div>                   <div>                       <img class="lazy" data-src="/images/thumb.png" id="face_show" width="100px">                       <p id="faceText"></p>                   </div>               </div>           </div>       </div>       <div>           <div>               <input type="button" lay-submit="" lay-filter="add" value="提交">           </div>       </div>   </div>   <script type="text/javascript">layui.use(['form','layer','upload','element'], function(){           $ = layui.jquery;var form = layui.form,layer = layui.layer;var upload = layui.upload;var element = layui.element;//常规使用 - 普通图片上传var uploadInst = upload.render({               elem: '#face1',url: '{:url("uploadFile")}',before: function(obj){                   //预读本地文件示例,不支持ie8obj.preview(function(index, file, result){                       $('#face_show').attr('class="lazy" data-src', result); //图片链接(base64)});element.progress('demo', '0%'); //进度条复位layer.msg('上传中', {icon: 16, time: 0});}               ,done: function(data){                   //如果上传失败if(data.code > 0){                       layer.msg('上传成功');document.getElementById('face').value = data.path;$('#faceText').html(''); //置空上传失败的状态}else {                       layer.msg('上传失败',{icon:2});}               }               ,error: function(){                   //演示失败状态,并实现重传var demoText = $('#faceText');demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');demoText.find('.demo-reload').on('click', function(){                       uploadInst.upload();});}               //进度条,progress: function(n, index, e){                   element.progress('demo', n + '%'); //可配合 layui 进度条元素使用if(n == 100){                       layer.msg('上传完毕', {icon: 1});}               }           });form.on('submit(add)', function(data){               console.log(data);//发异步,把数据提交给php$.post('{:url(\'save\')}',$('form').serialize(),function(data){                   if(data.code == 1){                       layer.msg(data.msg);setTimeout(function(){parent.window.location.reload();},1000);}else{                       layer.alert(data.msg, {icon: 6});}               })               return false;});});</script></body></html>

【图片上传】

public function uploadFile(){   //获取上传文件信息   $file = request()->file('file');   //以在上传目录下面生成以当前日期为子目录,存放上传文件   $path = date("Ymd");   //以当前时间和100~1000之间的随机数作为文件名称   $filename = time().rand(100,1000);   //将上传的文件移动到指定目录下   $info = $file->move('uploadfile/'.$path.'/',$filename);   //验证图片并移动到指定目录   if ($info){       //返回上传成功提示信息       //获取图片的名字       $imgName = $info->getFilename();       $size = $info->getInfo('size');       //获取图片的路径       $photo1 ='/uploadfile/'.$path.'/'.$info->getSaveName();       return json(['code'=>1,'path'=>$photo1]);   }else{       //返回上传失败提示信息       return $file->getError();   }}

【水印类库】

namespace app\api\classes;use think\Image;class imgWaterClass{      public function imageWaterText($path,$text){       $img = ".".$path;       $image = Image::open($img);       $image->text($text,'./static/style/font/simsun.ttc',20,'#ffffff',9 ,"-10px")->save($img);       return $img;   }   public function imageWaterImg($path,$logo){       $img = ".".$path;       $logo = ".".$logo;       $image = Image::open($img);       $image->water($logo,Image::WATER_SOUTHEAST)->save($img);       return $img;   }}

【后台程序处理】

public function save(){   $data = Request::param();   $water = new imgWaterClass();   $img_url = $data['face'];//需要添加水印的图片   $path = "/uploads/logo.png";//水印图片   $img = $water->imageWaterImg($img_url,$path);//添加水印图片   $img_text = $water->imageWaterText($img_url,'我是水印');//添加水印文字   if($img){       return ['code'=>1,'msg'=>'保存成功'];   }else{       return ['code'=>0,'msg'=>'保存失败'];   }}

关于使用TP5.1 怎么为图片添加水印就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用TP5.1 怎么为图片添加水印

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用TP5.1 怎么为图片添加水印

这篇文章将为大家详细讲解有关使用TP5.1 怎么为图片添加水印,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在 Linux 和 Mac OS X 中可以运行如下命令:curl -sS htt
2023-06-14

GraphicsMagick为图片添加水印

GraphicsMagick号称图像处理领域的瑞士军刀。提供了健壮及高效的图像处理工具包和库,支持超过88种主流图片格式包括:BMP,GIF,JPEG,JPEG-2000,PNG,PDF,PNM,TIFF,DPX… 现在最新稳定版本为:1.
2022-06-03

Python如何为图片添加水印

添加水印的主要目的是为了版权保护,使自己的图像不被抄袭或者恶意转载。网上有很多制作水印的工具,本帖介绍怎么使用Python-Pillow库给图片添加水印。 使用ImageMagick添加图片水印-Linux 添加文本水印 在图片右下角添加文
2022-06-04

Android实现为图片添加水印

添加水印的方法挺简单的,具体内容如下public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInst
2022-06-06

利用JAVA怎么给图片添加水印

这期内容当中小编将会给大家带来有关利用JAVA怎么给图片添加水印,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。印的类型:单文字水印单图片水印多文字水印多图片水印水印的开发流程:创建图片缓存对象创建Java
2023-05-31

Python怎么批量添加图片水印

本篇内容介绍了“Python怎么批量添加图片水印”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、前言现在盗图是非常常见的事情,许多人在使用
2023-06-29

Android中怎么给图片添加水印

本篇文章为大家展示了Android中怎么给图片添加水印,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Android 图片添加水印的实现方法手机端打水印(文字和图片)使用的是Bitmap、Matrix
2023-05-30

java怎么实现添加图片水印和文字水印

这篇文章主要介绍java怎么实现添加图片水印和文字水印,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们经常会在一些图片或者图片上看到某某公司或品牌的水印,那么我们可不可以自己在喜欢的图片或文件上添加水印呢?答案当然
2023-06-09

使用java怎么为表格添加水印

本篇文章给大家分享的是有关使用java怎么为表格添加水印,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java可以用来干什么Java主要应用于:1. web开发;2. Andr
2023-06-14

怎么在html5中使用canvas给图片添加平铺水印

这篇文章将为大家详细讲解有关怎么在html5中使用canvas给图片添加平铺水印,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。var img = new Image();// 因为我项目中的
2023-06-09

PHP怎么实现给图片添加文字水印

本篇内容主要讲解“PHP怎么实现给图片添加文字水印”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么实现给图片添加文字水印”吧!PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图
2023-06-04

使用Python中PIL库给图片添加文本水印

有时候我们需要添加一定的水印以给自己的图片添加先关的标记,在Python中有相关的计算函数,下面这篇文章主要给大家介绍了关于使用Python中PIL库给图片添加文本水印的相关资料,需要的朋友可以参考下
2023-05-16

PHP中怎么图片加水印

PHP中怎么图片加水印,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。通过判断文件类型建立图形,然后把其复制到原建立的图形上,填充并建立rectangle,以备写入image
2023-06-17

怎么用Java在图片上添加文字水印效果

这篇“怎么用Java在图片上添加文字水印效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用Java在图片上添加文字水印
2023-06-26

如何使用canvas实现给图片添加平铺水印

小编给大家分享一下如何使用canvas实现给图片添加平铺水印,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近项目中遇到一个需求,需要把一张图片加上平铺的水印类似
2023-06-09

利用Python怎么在图片的指定位置添加水印

利用Python怎么在图片的指定位置添加水印?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python可以做什么Python是一种编程语言,内置了许多有效的工具,Python几
2023-06-06

PHP中怎么给图片加水印

本篇文章为大家展示了PHP中怎么给图片加水印,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP给图片加水印的具体代码如下:
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录