利用canvas页面打水印
利用canvas元素在页面打水印,支持 0 ~ 360 度文本水印,提供更新、销毁水印方法。提供typescript、js 版本
使用方式import Watermark from "./watermark.ts";
let instance = new Watermark({
text: 'watermark' // 水印文本
});
instance.init(); // 初始化水印
默认配置项
{
text: 'watermark',// 水印文本
positionType: 'fixed', // canvas css position
parentSelector: 'body', // canvas 父节点元素
canvasClassName: 'watermark', // canvas className
gapsX: 20, // 水印 x轴间距
gapsY: 20, // 水印 y轴间距
rotate: 45, // 水印 倾斜角度 支持 0 ~ 360 度范围
debounceTime: 300,// 单位 ms 窗口变化时重新生成水印间隔
style: {
font: '16px 微软雅黑',
fillStyle: '#ddd',
textBaseline: 'middle'
}, // ctx 水印 笔触设置
canvasStyle: {
left: 0,
top: 0,
zIndex: 999,
pointerEvents: 'none',
display: 'block'
}, // canvas css 样式
created(canvas: HTMLCanvasElement) { // 生成canvas节点后的回调 ,参数canvas 这当前的canvas 元素
console.log(canvas, 'canvas created');
},
complete(ctx: CanvasRenderingContext2D, context: Watermark) { // 完成水印绘制后的回调 参数:ctx 为当前canvas ctx; context 为当前的 Watermark 类实例
console.log(ctx, context, 'draw completed')
}
}
提供的方法
let instance = new Watermark({
text: 'watermark' // 水印文本
});
instance.init(); // 初始化水印,会生成canvas 节点及监听 水印元素
instance.destory(); // 销毁水印相关的元素、监听
instance.draw(text); // 绘制水印
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。