广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue轻松实现水印效果
  • 733
分享到

vue轻松实现水印效果

2024-04-02 19:04:59 733人浏览 安东尼
摘要

前言: Vue项目中使用水印效果,可指定容器 效果图: 1、不指定容器 2、指定容器 实现方法: 1、新建一个配置文件 watermark.js ,可放util,也可放别的地方

前言:

Vue项目中使用水印效果,可指定容器

效果图:

1、不指定容器

2、指定容器

实现方法:

1、新建一个配置文件 watermark.js ,可放util,也可放别的地方


let watermark = {}
 
let setWatermark = (text, sourceBody) => {
  let id = Math.random()*10000+'-'+Math.random()*10000+'/'+Math.random()*10000
 
  if (document.getElementById(id) !== null) {
    document.body.removeChild(document.getElementById(id))
  }
 
  let can = document.createElement('canvas')
  can.width = 150
  can.height = 120
 
  let cans = can.getContext('2d')
  cans.rotate(-20 * Math.PI / 180)
  cans.font = '15px Vedana'
  cans.fillStyle = 'rgba(0, 0, 0, .5)'
  cans.textAlign = 'left'
  cans.textBaseline = 'Middle'
  cans.fillText(text, can.width / 20, can.height )
 
  let water_div = document.createElement('div')
  water_div.id = id
  water_div.style.pointerEvents = 'none'
  water_div.style.background = 'url(' + can.toDataURL('image/png') + ') left top repeat'
  if(sourceBody){
    water_div.style.width = '100%'
    water_div.style.height = '100%'
    sourceBody.appendChild(water_div)
  }else{
    water_div.style.top = '3px'
    water_div.style.left = '0px'
    water_div.style.position = 'fixed'
    water_div.style.zIndex = '100000'
    water_div.style.width = document.documentElement.clientWidth  + 'px'
    water_div.style.height = document.documentElement.clientHeight  + 'px'
    document.body.appendChild(water_div)
  }
 
  return id
}
 

watermark.set = (text, sourceBody) => {
  let id = setWatermark(text, sourceBody)
  setInterval(() => {
    if (document.getElementById(id) === null) {
      id = setWatermark(text, sourceBody)
    }
  }, 2000)
  window.onresize = () => {
    setWatermark(text, sourceBody)
  }
}
 
export default watermark

2、在main.js中全局配置


// 水印
import watermark from './utils/watermark.js'
Vue.prototype.$watermark = watermark

3、页面中使用-全屏水印


this.$watermark.set("浩星2731")

4、页面中使用-指定容器


<el-button @click="addWatermark">点我添加水印</el-button>
<div ref="content" style="width: 500px;height: 500px;border: 1px solid #ccc;">
 addWatermark(){
      this.$watermark.set("浩星2731",this.$refs.content)
    }

5、如果觉得字体之间的距离太大了,改这个属性就行了


can.width = 150
can.height = 120

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: vue轻松实现水印效果

本文链接: https://www.lsjlt.com/news/134548.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • vue轻松实现水印效果
    前言: vue项目中使用水印效果,可指定容器 效果图: 1、不指定容器 2、指定容器 实现方法: 1、新建一个配置文件 watermark.js ,可放util,也可放别的地方 ...
    99+
    2022-11-12
  • vue实现页面添加水印效果
    最近在做项目的时候要求给页面加上水印效果,废话不多说直接上代码: export function watermark(settings) { debugger; //默认...
    99+
    2022-11-12
  • 怎么用JS实现覆盖水印效果
    这篇“怎么用JS实现覆盖水印效果”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用JS实现覆盖水印效果”文章吧。一、效果处...
    99+
    2023-07-05
  • 轻松实现Android3D效果通俗易懂
    目录一、先看看聊天(需求)二、实现效果三、实现1.通过getSystemService获得SensorManager实例对象2.通过SensorManager实例对象获得想要的传感器...
    99+
    2022-11-12
  • react实现页面水印效果的全过程
    目录前言1.使用示例2.实现过程3.组件代码总结前言 1.为什么选用svg 而不是cavans? 因为cavans 在高分辨率屏幕下,需要根据 devicePixelRatio做宽高...
    99+
    2022-11-12
  • 2行Python实现给图片加水印效果
    目录前言filestools库介绍一行代码给图片加水印总结前言 版权相当重要,对于某张图片,可能是你精心制作的思维导图,或者你精心设计的某个logo。你可能花费好多时间来弄,最后却被...
    99+
    2022-11-12
  • vue项目页面的打印和下载PDF加loading效果的实现(加水印)
    目录vue页面的打印和下载PDF(加水印)vue项目页面的打印vue项目页面下载PDF封装异步PDF下载函数并添加loading效果总结vue页面的打印和下载PDF(加水印) vue...
    99+
    2022-12-08
    vue页面的打印 vue页面的下载 下载PDF加loading效果
  • 详解如何用JS实现覆盖水印效果
    废话开篇:简单实现一个覆盖水印的小功能,水印一般都是添加在图片上,然后直接加载处理过的图片url即可,这里并没有修改图片,而是直接的在待添加水印的 dom 上添加一个 canvas 蒙版。一、效果处理之前DIVIMG处理之后DIVIMG这里...
    99+
    2023-05-14
    JavaScript 前端
  • 怎么用Python实现给图片加水印效果
    本篇内容介绍了“怎么用Python实现给图片加水印效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!filestools库介绍今天给大家介绍...
    99+
    2023-06-25
  • Vue怎么实现加水波纹效果
    本篇内容主要讲解“Vue怎么实现加水波纹效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue怎么实现加水波纹效果”吧!自定义指令指令的作用言简意赅,就是操作底层dom当然vue自身有非常强大...
    99+
    2023-06-29
  • Vue全局水印如何实现
    今天小编给大家分享一下Vue全局水印如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。...
    99+
    2022-10-19
  • vue实现页面添加水印
    本文实例为大家分享了vue实现页面添加水印的具体代码,供大家参考,具体内容如下 js文件 建一个watermark.js文件 let setWatermark = (str1, st...
    99+
    2022-11-13
  • Android 轻松实现图片倒影效果实例代码
    主Activity 代码如下:package com.mj.myweather;import android.app.Activity;import android.graph...
    99+
    2022-06-06
    图片 Android
  • Vue之全局水印的实现示例
    目录1.创建水印Js文件 2.引入操作 2.1 在App.vue中引用或其他页面 2.2 在router配置文件中引用【需求】系统内页面显示水印,登录页面没有水印(退出登录时,登录页...
    99+
    2022-11-12
  • vue实现上传图片添加水印
    本文实例为大家分享了vue上传图片添加水印的具体实现代码,供大家参考,具体内容如下 1、封装添加水印方法 export async function addWaterMarke...
    99+
    2022-11-12
  • Android实现水波纹效果
    一、效果   点击开始:   点击停止: 二、在MainActivity中 import android.graphics.Paint; ...
    99+
    2022-06-06
    Android
  • 轻松实现功能强大的Android刮奖效果控件(ScratchView)
    前言 我身边有一部分开发的小伙伴,存在着这样一种习惯。某一天,突然看到某一款 App 上有个很漂亮的自定义控件(动画)效果,就会绞尽脑子想办法去自己实现一发。当然,我自己也是属...
    99+
    2022-06-06
    Android
  • Java实现为Word每一页设置不同图片水印的效果
    目录方法思路Jar引入Java代码示例代码补充Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同...
    99+
    2022-11-13
  • vue实现水波涟漪效果的点击反馈指令
    目录水波效果来看实现 定制一个水波纹默认样式 计算水波纹的位置和直径 鼠标按下时创建水波 鼠标抬起时销毁水波 通过指令binding去扩展你的水波选项 写在最后 水波效果 当用户点击...
    99+
    2022-11-12
  • Android如何实现水波纹效果
    这篇文章主要为大家展示了“Android如何实现水波纹效果”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android如何实现水波纹效果”这篇文章吧。效果图attrs.xml自定义属性 ...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作