54 lines
1.9 KiB
JavaScript
54 lines
1.9 KiB
JavaScript
|
// watermark.js
|
|||
|
Component({
|
|||
|
data: {
|
|||
|
// 这里是一些组件内部数据
|
|||
|
watermarkText: '水印测试'
|
|||
|
},
|
|||
|
attached() {
|
|||
|
// 在组件实例进入页面节点树时执行
|
|||
|
// this.drowsyUserinfo()
|
|||
|
// console.log(wx.getStorageSync('markConfig'))
|
|||
|
this.setData({
|
|||
|
markConfig:wx.getStorageSync('markConfig'),
|
|||
|
watermarkText: (wx.getStorageSync('userInfo') || {}).name || '水印测试'
|
|||
|
})
|
|||
|
},
|
|||
|
methods: {
|
|||
|
// 这里是一个自定义方法
|
|||
|
drowsyUserinfo: function () {
|
|||
|
var markConfig = wx.getStorageSync('markConfig') || {};
|
|||
|
var ctx = wx.createCanvasContext("myCanvas");
|
|||
|
ctx.rotate(20 * Math.PI / 180); //设置文字的旋转角度,角度为45°;
|
|||
|
//对斜对角线以左部分进行文字的填充
|
|||
|
//用for循环达到重复输出文字的效果,这个for循环代表纵向循环
|
|||
|
for (let j = 1; j < 10; j++) {
|
|||
|
ctx.beginPath();
|
|||
|
ctx.setFontSize(16);
|
|||
|
ctx.setFillStyle("rgba(0,155,169,.5)");
|
|||
|
ctx.fillText(markConfig.wmTitle, 0, 50 * j);
|
|||
|
for (let i = 1; i < 10; i++) { //这个for循环代表横向循环
|
|||
|
ctx.beginPath();
|
|||
|
ctx.setFontSize(15);
|
|||
|
ctx.setFillStyle("rgba(0,155,169,.5)");
|
|||
|
ctx.fillText(markConfig.wmTitle, 180 * i, 150 * j);
|
|||
|
}
|
|||
|
}
|
|||
|
//两个for循环的配合,使得文字充满斜对角线的左下部分
|
|||
|
//对斜对角线以右部分进行文字的填充逻辑同上
|
|||
|
for (let j = 0; j < 10; j++) {
|
|||
|
ctx.beginPath();
|
|||
|
ctx.setFontSize(16);
|
|||
|
ctx.setFillStyle("rgba(0,155,169,.5)");
|
|||
|
ctx.fillText(markConfig.wmTitle, 0, -50 * j);
|
|||
|
for (let i = 1; i < 10; i++) {
|
|||
|
ctx.beginPath();
|
|||
|
ctx.setFontSize(16);
|
|||
|
ctx.setFillStyle("rgba(0,155,169,.5)");
|
|||
|
ctx.fillText(markConfig.wmTitle, 180 * i, -150 * j);
|
|||
|
}
|
|||
|
}
|
|||
|
ctx.draw();
|
|||
|
}
|
|||
|
}
|
|||
|
})
|