vue局部加水印指令

简介: vue局部加水印指令

vue局部加水印指令

效果

image.png

代码

<div style="width: 1000px;height:500px;border: 1px solid" v-watermark="{ text2: watermark2, text: watermark, textColor: 'rgba(180, 180, 180, 0.3)' }"></div>


return {
   
   
   watermark: `{
   
   mathJaxContainer[0]}{
   
   new Date().toLocaleTimeString()}`,
   watermark2: '99999',
}
directives: {
   
   
        watermark: (el, binding) => {
   
   
        console.log(el)
        console.log(binding);
        function addWaterMarker(str,str1, parentNode, font, textColor) {
   
   
            // 水印文字,父元素,字体,文字颜色
            let can = document.createElement("canvas");
            parentNode.appendChild(can);
            can.width = 360;
            can.height = 280;
            can.style.display = "none";
            var cans = can.getContext("2d");
            cans.rotate((-20 * Math.PI) / 180);
            cans.font = '30px Vedana' //水印的字体大小
            cans.fillStyle = '#ccc' //水印的字体颜色
            cans.textAlign = 'center' //水印的位置
            cans.textBaseline = 'Middle'
            cans.fillText(str, can.width / 2, can.height -20) // 水印在画布的位置x,y轴
            cans.fillText(str1, can.width / 2, can.height + 22)
            parentNode.style.backgroundImage =
            "url(" + can.toDataURL("image/png") + ")";
        }
        addWaterMarker(
            binding.value.text2,
            binding.value.text,
            el,
            binding.value.font,
            binding.value.textColor
        );
        }
    },

如果要实时的时间水印(隔几秒更新时间)

在addWaterMarker调用这里加setInterval,隔几秒重新渲染一下,达到时间实时更新。

目录
相关文章
|
2天前
|
JavaScript
|
4天前
|
JavaScript
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
16 6
|
1天前
|
存储 缓存 JavaScript
vue代码优化方案
【7月更文挑战第13天】 **Vue.js 优化要点:** 分解大组件以提高复用性和加载速度;利用计算属性与侦听器优化数据处理;使用Object.freeze()减少响应式数据;借助Vuex或Composition API管理状态;实现虚拟滚动和无限加载提升长列表性能;路由懒加载减少初始加载时间;用Vue DevTools检测性能瓶颈;定期代码审查与重构;应用缓存策略;遵循最佳实践与团队规范,提升应用整体质量。
10 2
|
4天前
|
JavaScript 前端开发
【vue】 el-table解决分页不能筛选全部数据的问题
【vue】 el-table解决分页不能筛选全部数据的问题
15 4
|
4天前
|
JavaScript
【vue】 vue2 监听滚动条滚动事件
【vue】 vue2 监听滚动条滚动事件
10 1
|
4天前
|
JavaScript 定位技术
【天地图】vue 天地图 T is not defined
【天地图】vue 天地图 T is not defined
15 1
|
4天前
|
JavaScript 前端开发
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
11 0
|
2月前
|
JavaScript
Vue中的v-bind指令的用法有哪些?
Vue中的v-bind指令的用法有哪些?
163 37
|
11月前
|
JavaScript 前端开发
常用的vue指令语法用法
常用的vue指令语法用法
42 0
|
11月前
|
JavaScript 索引
vue指令作用以及用法
vue指令作用以及用法

相关实验场景

更多