Skip to content

前端水印

为保证用户隐私、数据安全等

明水印

  • 背景图:将有水印的图片作为背景图
  • canvas绘制,可以实现动态的效果
js
function addWatermark(imgEl, text) {
    const canvas = document.createElement('canvas')
    const ctx = canvas.getContext('2d')
    const img = new Image()
    img.src = imgEl.src;
    img.onload = function () {
        canvas.width = img.width
        canvas.height = img.height
        ctx.drawImage(img, 0, 0)
        ctx.font = '20px Arial'
        ctx.fillStyle = 'rgba(0, 0, 0, 0.2)'
        ctx.textAlign = 'center'
        ctx.textBaseline = 'middle'
        ctx.fillText(text, canvas.width / 2, canvas.height / 2)
        imgEl.src = canvas.toDataURL('image/png')
    }
}
  • svg
js
function createWatermarkSVG(text) {
    const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%">
        <text x="50%" y="50%" dominant-baseline="middle" text-anchor="middle" font-size="30px" font-weight="bold" fill="rgba(0, 0, 0, 0.2)">${text}</text>
    </svg>
    `
    return `data:image/svg+xml;base64,${btoa(svg)}`
}

document.body.style.backgroundImage = `url(${createWatermarkSVG('前端水印')})`

暗水印

后端黑科技,将一些信息写入到文件的二进制代码里

苏ICP备2025160170号-1 | 前端进化之路 | Released under the MIT License.