|
@@ -0,0 +1,82 @@
|
|
|
+// 添加水印方法
|
|
|
+export default function (strArr) {
|
|
|
+ // let cpyName = str
|
|
|
+ // if (str.length > 16) {
|
|
|
+ // cpyName = str.substring(0, 16)
|
|
|
+ // }
|
|
|
+ let win = window.$(window)
|
|
|
+ let winW = win.width()
|
|
|
+ let winH = win.height()
|
|
|
+ let boxW = 300
|
|
|
+ let boxH = 200
|
|
|
+ let boxWL = Math.ceil(winW / boxW)
|
|
|
+ let boxHL = Math.ceil(winH / boxH)
|
|
|
+ let canvas = document.createElement('canvas')
|
|
|
+ let report = window.$('body')
|
|
|
+ report.append(canvas)
|
|
|
+ console.log(winW, winH)
|
|
|
+ window.$(canvas).css({
|
|
|
+ zIndex: '999',
|
|
|
+ position: 'fixed',
|
|
|
+ top: 0,
|
|
|
+ left: 0,
|
|
|
+ 'pointer-events': 'none'
|
|
|
+ })
|
|
|
+ canvas.width = winW
|
|
|
+ canvas.height = winH
|
|
|
+ let ctx = canvas.getContext('2d')
|
|
|
+ // ctx.translate(0, rectCenterPoint.y)
|
|
|
+ // ctx.rotate(45 * Math.PI / 180)
|
|
|
+ ctx.globalAlpha = 0.3
|
|
|
+ ctx.fillStyle = '#fff'
|
|
|
+ ctx.textAlign = 'left'
|
|
|
+ ctx.textBaseline = 'top'
|
|
|
+ let fontSize = 16
|
|
|
+ ctx.font = '800 ' + fontSize + 'px ' + ' Microsoft Yahei'
|
|
|
+ // if (ctx.measureText(cpyName).width > boxW) {
|
|
|
+ // ctx.font = '800 ' + 20 + 'px ' + ' Microsoft Yahei'
|
|
|
+ // }
|
|
|
+ // for (let max = 41; ;) {
|
|
|
+ // max--
|
|
|
+ // // console.log(max)
|
|
|
+ // if (max <= 20) {
|
|
|
+ // break
|
|
|
+ // }
|
|
|
+ // ctx.font = '800 ' + max + 'px ' + ' Microsoft Yahei'
|
|
|
+ // // console.log(ctx.measureText(cpyName).width)
|
|
|
+ // if (ctx.measureText(cpyName).width > boxW * 1.35) {
|
|
|
+ // continue
|
|
|
+ // } else {
|
|
|
+ // break
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+ // ctx.measureText(cpyName).width
|
|
|
+ // ctx.translate(0, 0)
|
|
|
+ // ctx.rotate(45 * Math.PI / 180)
|
|
|
+ // ctx.fillText(cpyName, 0, 0)
|
|
|
+ // ctx.rotate(-45 * Math.PI / 180)
|
|
|
+ // ctx.translate(300, 0)
|
|
|
+ // ctx.rotate(45 * Math.PI / 180)
|
|
|
+ // ctx.fillText(cpyName, 0, 0)
|
|
|
+ for (let i = 0; i < boxWL; i++) {
|
|
|
+ for (let j = 0; j < boxHL; j++) {
|
|
|
+ // console.log(i, j)
|
|
|
+ let suijix = Math.random() * 50
|
|
|
+ let suijiy = Math.random() * 50
|
|
|
+ ctx.translate(i * boxW + suijix, j * boxH + suijiy)
|
|
|
+ ctx.rotate(45 * Math.PI / 180)
|
|
|
+ setName(strArr, ctx)
|
|
|
+ // ctx.fillText()
|
|
|
+ ctx.rotate(-45 * Math.PI / 180)
|
|
|
+ ctx.translate(-1 * i * boxW - suijix, -1 * j * boxH - suijiy)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // report.style.backgroundImage = 'url(' + canvas.toDataURL('image/png') + ')'
|
|
|
+}
|
|
|
+function setName (arr, ctx) {
|
|
|
+ let h = 24
|
|
|
+ arr.forEach((e, i) => {
|
|
|
+ ctx.fillText(e, 0, i * h)
|
|
|
+ })
|
|
|
+}
|