前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Js网页添加水印

Js网页添加水印

作者头像
明知山
发布2023-09-01 19:34:32
2560
发布2023-09-01 19:34:32
举报
文章被收录于专栏:前端开发随笔前端开发随笔
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
import { debounce } from "./index"
const id = 'water-mark'

const setWaterMark = (content) => {
    if (document.getElementById(id) != null) document.body.removeChild(document.getElementById(id))
    const canvas = document.createElement('canvas')
    canvas.width = 300
    canvas.height = 150
    const ctx = canvas.getContext('2d')
    ctx.rotate((-20 * Math.PI) / 180)
    ctx.font = '14px normal'
    ctx.fillStyle = 'rgba(200, 200, 200, 0.30)'
    ctx.textBaseline = 'middle'
    ctx.textAlign = 'center'
    const contents = Array.isArray(content) ? content : [content]
    contents.forEach((item, index) => {
        ctx.fillText(item || "", canvas.width / 5, canvas.height / 2 + (index * 20))
    })
    const dom = document.createElement('div')
    dom.id = id
    dom.style.pointerEvents = 'none'
    dom.style.position = 'absolute'
    dom.style.top = '0px'
    dom.style.left = '0px'
    dom.style.zIndex = '9'
    dom.style.width = `${document.documentElement.clientWidth}px`
    dom.style.height = `${document.documentElement.clientHeight}px`
    dom.style.background = `url(${canvas.toDataURL('image/png')}) repeat`
    document.body.appendChild(dom)
}

export default (content) => {
    if (document.getElementById(id) == null) setWaterMark(content)
    window.onresize = debounce(() => setWaterMark(content))
}
代码语言:javascript
复制
import waterMark from '@/utils/waterMark.js'
waterMark("添加水印")
// 或多个
waterMark(["添加水印","添加水印"])
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-08-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档