import Vue from 'vue'
/*** author: zuokun* 水印* text:水印文字* font:字体* textColor:文字颜色* width:宽度* height:高度* textRotate:偏转度 -90到0, 负数值,不包含-90*/
Vue.directive('watermark',(el,binding)=>{let text = binding.value.text;let font = binding.value.font || "16px Microsoft JhengHei";let textColor = binding.value.textColor || "rgba(215, 215, 215, 0.2)";let width = binding.value.width || 400;let height = binding.value.height || 200;let textRotate = binding.value.textRotate||-20;function addWaterMarker(parentNode){var can = document.createElement('canvas');parentNode.appendChild(can);can.width = width;can.height = height;can.style.display = 'none';var cans = can.getContext('2d');cans.rotate(textRotate * Math.PI / 180);cans.font = font;cans.fillStyle = textColor ;cans.textAlign = 'left';cans.textBaseline = 'Middle';cans.fillText(text, 0,  can.height);parentNode.style.backgroundImage = "url(" + can.toDataURL("image/png") + ")";}addWaterMarker(el)
})使用:1.引入:import  '@/utils/directives.js';
2.设置配置:复制代码watermarkConfig:{//水印
text:'测试水印',
font:'20px 微软雅黑',
textColor:'#bcbcbc',
width : 150, //水印文字的水平间距
height : 100, //水印文字的高度间距(低于文字高度会被替代)
extRotate : -30 //-90到0, 负数值,不包含-90
},复制代码
3.页面使用:<div  v-watermark="watermarkConfig">
</div>----------------------------------------------------------------------
页面完整代码:复制代码
<template><div id="test"><div class="bodydiv" v-watermark="watermarkConfig"></div></div>
</template><script>import Vue from 'vue';import  '@/utils/directives.js';export default {data() {return {watermarkConfig:{//水印text:'测试水印',font:'20px 微软雅黑',textColor:'#bcbcbc',width : 150, //水印文字的水平间距height : 100,  //水印文字的高度间距(低于文字高度会被替代)extRotate : -30 //-90到0, 负数值,不包含-90},}},methods: {},created() { //初始化加载},mounted() { //加载完成回调},}
</script><style>#test .bodydiv {width: 100%;height:1000px;}
</style>

效果

vue 水印插件 插件:directives.js相关推荐

  1. vue中打印插件vue-print-nb(一)——基本示例

    vue中打印插件vue-print-nb(一)--基本示例 npm地址:https://www.npmjs.com/package/vue-print-nb 下载print.js地址:https:// ...

  2. captcha.js一个生成验证码的插件,使用js和canvas生成

    一.captcha`captcha.js`是一个生成验证码的插件,使用js和canvas生成的,确保后端服务被暴力攻击,简单判断人机以及系统的安全性,体积小,功能多,支持配置. 验证码插件内容,包含1 ...

  3. [vue] 怎么在vue中使用插件?

    [vue] 怎么在vue中使用插件? npm 安装 然后再main.js 引入 最后 vue.use(插件名) 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家 ...

  4. vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单

    今天分享的不是技术,今天给大家分享个插件,针对现有的vue右键菜单插件,大多数都是需要使用插件本身自定义的标签,很多地方不方便,可扩展性也很低,所以我决定写了一款自定义指令调用右键菜单(vuerigh ...

  5. vue连线 插件_一起写一个即插即用的 Vue Loading 插件

    写在之前 实现 Loading 思路上并不困难,只不过是根据请求前后进行设置而已,可当要设置的状态越来越多又不能全局统一设置时,就又变得十分繁琐重复.在 Github 和各个社区站里搜 Loading ...

  6. vue 图片引入_一个Vue的时间插件

    安装 npm install -S hzqing-vue-timeline 如何引入 main.js: // 全局注册import hzqingVueTimeline from 'hzqing-vue ...

  7. VUE颜色选择器插件vColorPicker

    VUE颜色选择器插件vColorPicker 官网 vColorPicker官网跳转 一.安装 npm install vcolorpicker -S 二.在 main.js 文件中引入插件并注册 / ...

  8. 基于vue前端聊天插件_基于Vue聊天的实现

    基于vue前端聊天插件 基本视频聊天 (basic-vue-chat) Easy to use VueJS chat. 易于使用的VueJS聊天. 安装 (Installation) You can ...

  9. vue利用 vue-animate-number插件动态展示数字(从0动态滚动到指定数字)

    vue利用 vue-animate-number插件动态展示数字(从0动态滚动到指定数字) 第一步:安装vue-animate-number插件 $ npm install vue-animate-n ...

最新文章

  1. Linux下安装php环境并且配置Nginx支持php-fpm模块
  2. SAP物料类型与物料库存信息在哪个表中
  3. mysql 临时表_第05问:MySQL 在处理临时结果集时,内部临时表会使用多少内存?...
  4. 按钮隐藏_Win10系统:如何隐藏登录界面右下角的电源按钮?(两种方法)
  5. Pytorch中的variable, tensor与numpy相互转化的方法
  6. [ 转载 ] Java面试精选【Java基础第一部分】
  7. 新零售基础设施 看阿里巴巴如何打“地基”
  8. 第二周代码(wc项目)
  9. msclass 文字滚动_MSClass (通用不间断滚动JS封装类)
  10. docker pipework
  11. Oracle client 使用 .net程序连接 数据库时 出现 8.1.7 的解决办法
  12. 检测CCD Dead Pixel
  13. 【电子知识篇】放大器定义与分类
  14. CSS3nbsp;Transitionnbsp;Transformnbsp;Animat…
  15. 《哈佛大学公开课:幸福课》学习笔记(3)
  16. 操作系统——MFC实现进程创建和通信4
  17. 米家扫地机器人扫到一半停了_MIJIA 米家 扫地机器人一年使用体验
  18. 基于java的物流信息管理系统(计算机毕业设计)
  19. 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper...
  20. 棋盘游戏(二分图最大匹配)

热门文章

  1. uni-app使用Hbuilder X如何安卓APP打包、发布、运行
  2. android实现音乐播放器(进度条)
  3. 如何更清楚的购买自己需要的电脑——配置篇
  4. 安卓app开发工具_四川智慧社区安卓手机app开发多少钱
  5. Win_XP_SP3系统下成功安装WinccV6.0_SP3a 经验分享
  6. 【最短路径树】 [USACO09JAN]Safe Travel G
  7. 动态规划问题解决方法及示例
  8. BUGKU (Take the maze)
  9. 深度学习算法之-SSD(一)
  10. js 移动端阻止下拉滑动、刷新