美文网首页
canvas绘制水印

canvas绘制水印

作者: 得到世界又如何我的心中只有你 | 来源:发表于2020-06-12 11:26 被阅读0次

    前言

    canvas 是个很神奇的东西,能完成很多事情。
    初步听到水印的需求,能想到的思路就是通过canvas绘制水印图片,转为base64设置到容器的背景图片上。

    实现

    话不多说,上代码

    /**
     * @param {*} dom
     * @param {String} txt
     */
    export const Watermark = function (dom, txt) {
      if (!dom) return false
      let length = txt.length * 20 // 根据内容生成画布大小,20代表比例
      let canvas = document.createElement('canvas')
      canvas.width = canvas.height = length
      canvas.style.display = 'none'
      document.body.appendChild(canvas)
      let context = canvas.getContext('2d')
      context.font = '12px "PingFangSC", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif'
      context.fillStyle = 'rgba(0,0,0,0.1)'
      context.rotate(-15 * Math.PI / 180) // 画布里面文字的旋转角度
      context.fillText(str, length / 2, length) // 文字的位置
      dom.style.backgroundImage = `url(${canvas.toDataURL('image/png')})`
    }
    

    画布的宽高、文字的旋转角度、文字的位置可以根据项目具体需求进行调整。

    相关文章

      网友评论

          本文标题:canvas绘制水印

          本文链接:https://www.haomeiwen.com/subject/stxbtktx.html