fix: 水印功能修改
This commit is contained in:
parent
ce295cc521
commit
b970a8ebf8
@ -20,14 +20,9 @@ let style = `
|
||||
background-repeat: repeat;
|
||||
pointer-events: none;
|
||||
`;
|
||||
let str: string = "";
|
||||
let font: any = null;
|
||||
let textColor: string = "";
|
||||
import type { Directive, DirectiveBinding } from "vue";
|
||||
const addWaterMarker = (parentNode: any, binding: { str: string; font: any; textColor: string }) => {
|
||||
str = str || "";
|
||||
font = font || "16px Microsoft JhengHei";
|
||||
textColor = textColor || "rgba(180, 180, 180, 0.3)";
|
||||
const addWaterMarker = (parentNode: any, binding: any = {}) => {
|
||||
console.log(binding);
|
||||
// 水印文字,父元素,字体,文字颜色
|
||||
let can: HTMLCanvasElement = document.createElement("canvas");
|
||||
parentNode.appendChild(can);
|
||||
@ -36,11 +31,11 @@ const addWaterMarker = (parentNode: any, binding: { str: string; font: any; text
|
||||
can.style.display = "none";
|
||||
let cans = can.getContext("2d") as CanvasRenderingContext2D;
|
||||
cans.rotate((-20 * Math.PI) / 180);
|
||||
cans.font = font || "16px Microsoft JhengHei";
|
||||
cans.fillStyle = textColor || "rgba(180, 180, 180, 0.3)";
|
||||
cans.font = binding.font || "16px Microsoft JhengHei";
|
||||
cans.fillStyle = binding.textColor || "rgba(180, 180, 180, 0.3)";
|
||||
cans.textAlign = "left";
|
||||
cans.textBaseline = "Middle" as CanvasTextBaseline;
|
||||
cans.fillText(str, can.width / 10, can.height / 2);
|
||||
cans.fillText(binding.text, can.width / 10, can.height / 2);
|
||||
|
||||
// 创建waterMark父元素
|
||||
const waterMark = document.createElement("div");
|
||||
@ -56,8 +51,9 @@ const addWaterMarker = (parentNode: any, binding: { str: string; font: any; text
|
||||
|
||||
const waterMarker = {
|
||||
mounted(el: HTMLElement, binding: any) {
|
||||
console.log(666);
|
||||
// addWaterMarker(binding.value.text, el, binding.value.font, binding.value.textColor);
|
||||
el.onload = init.bind(el, binding);
|
||||
el.onload = init(el, binding);
|
||||
}
|
||||
};
|
||||
|
||||
@ -85,6 +81,7 @@ const createObserver = (el: HTMLElement, binding: any) => {
|
||||
});
|
||||
};
|
||||
const init = (el: HTMLElement, binding: any = {}) => {
|
||||
console.log(666);
|
||||
// 设置水印
|
||||
addWaterMarker(el, binding.value);
|
||||
// 启动监控
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user