功能插件---水印插件 2022-12-24 14:53 193阅读 0赞 # 前言 # 还就没写博客了,最近实在是太忙了,马上还要做毕业设计和论文,今天抽时间写一写关于添加水印的问题吧 # 添加水印 # 如果只是想简单的给图片添加一个水印,其实很简单,只需要使用canvas,将需要的图片画出来之后再画上文字,最后导出成为base64格式的图片即可 const parentImg = new Image() parentImg.src = imgSrc parentImg.onload = () => { let canvas = document.createElement('canvas') canvas.setAttribute('width', 500); canvas.setAttribute('height', 500); let ctx = canvas.getContext("2d"); let base64Url = '' // 先把图片绘制到canvas上 ctx.drawImage(parentImg, 0, 0, 500, 500); // 绘制水印到canvas上 ctx.fillText('这是水印', 0, 0) // 将图片生成base64编码 base64Url = canvas.toDataURL(); } 这样就可以实现一个很简单的添加水印功能,最后会生成一个base64格式的图片,想在哪里使用就在哪里使用,不过需要注意的是**图片的onload方法是异步**的,我刚开始就在这上面吃过亏。 那么,有时候只是实现这么一个简单的水印不符合要求,比如,我想生成一个全背景的那种水印的图片怎么办呢,这时候看下面代码 const parentImg = new Image() parentImg.src = imgSrc parentImg.onload = () => { let canvas = document.createElement('canvas') canvas.setAttribute('width', 500); canvas.setAttribute('height', 500); let ctx = canvas.getContext("2d"); let base64Url = '' // 先把图片绘制到canvas上 ctx.drawImage(parentImg, 0, 0, imgWidth , imgHeight); // 绘制水印到canvas上 // 水印的行数 const row = Math.ceil(imgWidth / 200) // 水印的列数 const col = Math.ceil(imgHeight / 2) // 循环平铺添加水印 for(let i = 0; i < row; i++){ for(let j = 0; j < col; j++){ ctx.fillText('这是水印', 200 * i, 100 * j + 1) } } base64Url = canvas.toDataURL(); } 以上代码可以生成一个全背景的水印。但是有可能还会有其他需求,那么该怎么办呢,比如:我可以随意拖动这个水印,让它在图片的任意地方,这该怎么办呢?或者是,我想让拖动添加的水印可以适合任意图片,这又该怎么办呢? # 水印插件 # 这是我在根据我最近开发的一个项目的需求做出来的满足这些条件的插件,支持拖拽水印在图片的任何地方,只需要调用一个函数即可生成,今天把它分享给大家,如果在项目中需要,可以使用npm命令下载:`npm i add-move-water-picture` 就可以将这款插件下载到项目中使用,github地址:`https://github.com/caohongyu-crypto/add-move-water-picture`,在将来会不断的完善这款插件的功能,希望各位大佬有好的想法也可以提供思路给我,我们一起共同进步。
相关 Maven常见插件-tomcat插件 我们如果创建war项目,必然要部署在服务器上,方式: (1)部署在远程服务器上 (2)将IDEA和外部tomcat产生关联,然后将项目部署在外部tomcat上 现在学习 川长思鸟来/ 2023年09月27日 13:15/ 0 赞/ 46 阅读
相关 MyBatis插件开发 : 插件原理、插件开发流程 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 灰太狼/ 2023年01月15日 10:26/ 0 赞/ 122 阅读
相关 功能插件---水印插件 前言 还就没写博客了,最近实在是太忙了,马上还要做毕业设计和论文,今天抽时间写一写关于添加水印的问题吧 添加水印 如果只是想简单的给图片添加一个水印,其实很简单, 今天药忘吃喽~/ 2022年12月24日 14:53/ 0 赞/ 194 阅读
相关 WebStorm--插件--常用插件 原文网址:[WebStorm--插件--常用插件\_IT利刃出鞘的博客-CSDN博客][WebStorm--_--_IT_-CSDN] vue+Element 其他网址 ゝ一纸荒年。/ 2022年12月15日 14:04/ 0 赞/ 362 阅读
相关 vscode 插件-常用插件 VSCode常用插件(安装步骤同汉化) 1、Auto Close Tag (自动闭合HTML/XML标签) ![在这里插入图片描述][watermark_type_Zm 你的名字/ 2022年12月05日 00:41/ 0 赞/ 241 阅读
相关 zblog php插件,zblogphp插件 徐果萍博客网目前使用zblog程序zblogphp版本1.5.2.1935(Zero),2019年12月28日,独立博客网站支出299元,购买了一款zblog博客的zblog模 女爷i/ 2022年10月22日 02:53/ 0 赞/ 155 阅读
相关 d插件与模板插件 [原文][Link 1] 作者:亚当. `mixin()`带串,解析`串`为`ast`节点. `foo()`是类似`FunctionCall { args: [] 本是古典 何须时尚/ 2022年09月11日 11:16/ 0 赞/ 177 阅读
相关 JQuery插件获取URL插件 JQuery插件获取URL中GET请求参数 / JQuery插件:获取浏览器GET参数请求,返回一个数组 @author NICK @date 2016/0 我就是我/ 2022年07月17日 02:20/ 0 赞/ 221 阅读
相关 Eclipse Maven插件&Tomcat插件 前言 有段时间没有使用Eclipse创建Server程序在Tomcat内运行了.由于`Spring Boot`的普及,已经好久没有手动的将程序部署在Tomcat内进行运行 忘是亡心i/ 2022年03月09日 05:50/ 0 赞/ 354 阅读
相关 maven--插件篇(assembly插件) 1. 简介 简单的说,maven-assembly-plugin 就是用来帮助打包用的,比如说打出一个什么类型的包,包里包括哪些内容等等。 2. 常见的maven插件 旧城等待,/ 2021年05月27日 20:38/ 0 赞/ 747 阅读
还没有评论,来说两句吧...