方法水印字体和透明度

This commit is contained in:
zjl 2024-10-11 15:15:05 +08:00
parent 879dfb8a74
commit 9a9cc62d22

View File

@ -1,28 +1,29 @@
// 页面添加水印效果 // 页面添加水印效果
const setWatermark = (str: string) => { const setWatermark = (str: string) => {
const id = '1.23452384164.123412416'; const id = '1.23452384164.123412416';
if (document.getElementById(id) !== null) document.body.removeChild(<HTMLElement>document.getElementById(id)); if (document.getElementById(id) !== null)
const can = document.createElement('canvas'); document.body.removeChild(<HTMLElement>document.getElementById(id));
can.width = 200; const can = document.createElement('canvas');
can.height = 130; can.width = 200;
const cans = <CanvasRenderingContext2D>can.getContext('2d'); can.height = 130;
cans.rotate((-20 * Math.PI) / 180); const cans = <CanvasRenderingContext2D>can.getContext('2d');
cans.font = '12px Vedana'; cans.rotate((-20 * Math.PI) / 180);
cans.fillStyle = 'rgba(200, 200, 200, 0.30)'; cans.font = '18px Vedana';
cans.textBaseline = 'middle'; cans.fillStyle = 'rgba(200, 200, 200, 0.40)';
cans.fillText(str, can.width / 10, can.height / 2); cans.textBaseline = 'middle';
const div = document.createElement('div'); cans.fillText(str, can.width / 10, can.height / 2);
div.id = id; const div = document.createElement('div');
div.style.pointerEvents = 'none'; div.id = id;
div.style.top = '0px'; div.style.pointerEvents = 'none';
div.style.left = '0px'; div.style.top = '0px';
div.style.position = 'fixed'; div.style.left = '0px';
div.style.zIndex = '10000000'; div.style.position = 'fixed';
div.style.width = `${document.documentElement.clientWidth}px`; div.style.zIndex = '10000000';
div.style.height = `${document.documentElement.clientHeight}px`; div.style.width = `${document.documentElement.clientWidth}px`;
div.style.background = `url(${can.toDataURL('image/png')}) left top repeat`; div.style.height = `${document.documentElement.clientHeight}px`;
document.body.appendChild(div); div.style.background = `url(${can.toDataURL('image/png')}) left top repeat`;
return id; document.body.appendChild(div);
return id;
}; };
/** /**
@ -31,16 +32,17 @@ const setWatermark = (str: string) => {
* @method del * @method del
*/ */
const watermark = { const watermark = {
// 设置水印 // 设置水印
set: (str: string) => { set: (str: string) => {
let id = setWatermark(str); let id = setWatermark(str);
if (document.getElementById(id) === null) id = setWatermark(str); if (document.getElementById(id) === null) id = setWatermark(str);
}, },
// 删除水印 // 删除水印
del: () => { del: () => {
let id = '1.23452384164.123412416'; const id = '1.23452384164.123412416';
if (document.getElementById(id) !== null) document.body.removeChild(<HTMLElement>document.getElementById(id)); if (document.getElementById(id) !== null)
}, document.body.removeChild(<HTMLElement>document.getElementById(id));
},
}; };
// 导出方法 // 导出方法