25.添加水印?

步骤一:创建watermark.js文件(可以自己设置属性)
复制代码
/**  水印添加方法  */
const setWatermark = (str1, str2) => {
  const id = "1.23452384164.123412415";

  if (document.getElementById(id) !== null) {
    document.body.removeChild(document.getElementById(id));
  }

  const can = document.createElement("canvas");
  // 设置canvas画布大小
  can.width = 350;
  can.height = 280;

  const cans = can.getContext("2d");
  cans.rotate((-20 * Math.PI) / 180); // 水印旋转角度
  cans.font = "30px Vedana"; //水印的字体大小
  cans.fillStyle = "rgba(121, 121, 121,0.5)"; //水印的字体颜色
  cans.textAlign = "center"; //水印的位置
  cans.textBaseline = "Middle";
  cans.fillText(str1, can.width / 2, can.height); // 水印在画布的位置x,y轴
  cans.fillText(str2, can.width / 2, can.height + 22);

  const div = document.createElement("div");
  div.id = id;
  div.style.pointerEvents = "none";
  div.style.top = "10px";
  div.style.left = "0px";
  div.style.opacity = "0.15";
  div.style.position = "fixed";
  div.style.zIndex = "100000";
  div.style.width = document.documentElement.clientWidth + "px";
  div.style.height = document.documentElement.clientHeight + "px";
  div.style.background =
    "url(" + can.toDataURL("image/png") + ") left top repeat";
  document.body.appendChild(div);
  return id;
};

// 添加水印方法
export const setWaterMark = (str1, str2) => {
  let id = setWatermark(str1, str2);
  if (document.getElementById(id) === null) {
    id = setWatermark(str1, str2);
  }
};

// 移除水印方法
export const removeWatermark = () => {
  const id = "1.23452384164.123412415";
  if (document.getElementById(id) !== null) {
    document.body.removeChild(document.getElementById(id));
  }
};
复制代码

步骤二:哪一个页面需要水印,则引入这个文件

import { removeWatermark, setWaterMark } from './watermark'

步骤三:设置水印内容,以及清除水印

mounted() {
    setWaterMark('', '水印内容')
},
destroyed() {
    removeWatermark()
},

 

posted @   cjl2019  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示