| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- import imgList from './images/logoWatermark.png'
 
- export const imgToCanvas = async (url: string) => {
 
-   console.log('imgToCanvas', url)
 
-   const img = document.createElement('img')
 
-   img.setAttribute('crossOrigin', 'anonymous')
 
-   img.src = url + `?${new Date().getTime()}`
 
-   // 防止跨域引起的 Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
 
-   await new Promise(resolve => (img.onload = resolve))
 
-   // 创建canvas DOM元素,并设置其宽高和图片一样
 
-   const canvas = document.createElement('canvas')
 
-   canvas.width = img.width
 
-   canvas.height = img.height
 
-   // 坐标(0,0) 表示从此处开始绘制,相当于偏移。
 
-   const ctx = canvas.getContext('2d') as CanvasRenderingContext2D
 
-   ctx.fillStyle = 'rgb(255, 255, 255)'
 
-   ctx.fillStyle = '#fff'
 
-   ctx.fillRect(0, 0, img.width, img.height)
 
-   ctx.drawImage(img, 0, 0)
 
-   return canvas
 
- }
 
- /* canvas添加水印
 
- * @param {canvas对象} canvas
 
- * @param {水印文字} text
 
- */
 
- export const addWatermark = async (canvas, text) => {
 
-   console.log('addWatermark')
 
-   try {
 
-     const ctx = canvas.getContext('2d')
 
-     // ctx.fillStyle = '#fff'
 
-     const img = document.createElement('img')
 
-     img.setAttribute('crossOrigin', 'anonymous')
 
-     img.src = imgList + `?${new Date().getTime()}`
 
-     // 防止跨域引起的 Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
 
-     await new Promise(resolve => (img.onload = resolve))
 
-     // 创建canvas DOM元素,并设置其宽高和图片一样
 
-     const water = document.createElement('canvas')
 
-     water.width = 600
 
-     water.height = 500
 
-     // 第一层
 
-     const waterCtx = water.getContext('2d') as CanvasRenderingContext2D
 
-     waterCtx.clearRect(0, 0, water.width, water.height)
 
-     // 小水印中文字偏转角度
 
-     waterCtx.rotate((-30 * Math.PI) / 180)
 
-     waterCtx.drawImage(img, 0, 300)
 
-     const pat = ctx.createPattern(water, 'repeat')
 
-     ctx.fillStyle = pat
 
-     ctx.fillRect(0, 0, canvas.width, canvas.height)
 
-     return canvas
 
-   } catch (e) {
 
-     console.log(e)
 
-   }
 
- }
 
- export const addMusicTitle = (canvas, info) => {
 
-   canvas.getContext('2d')
 
-   const water = document.createElement('canvas')
 
-   // 小水印画布大小
 
-   water.width = canvas.width
 
-   water.height = canvas.height + 30
 
-   const waterCtx = water.getContext('2d') as CanvasRenderingContext2D
 
-   waterCtx.fillStyle = '#fff'
 
-   waterCtx.fillRect(0, 0, canvas.width, canvas.height + 70)
 
-   waterCtx.font = `40pt Calibri`
 
-   waterCtx.fillStyle = '#000'
 
-   waterCtx.textAlign = 'center'
 
-   waterCtx.drawImage(canvas, 0, 70)
 
-   waterCtx.fillText(info.title, canvas.width / 2, 120)
 
-   return water
 
- }
 
- export const convasToImg = canvas => {
 
-   return canvas.toDataURL('image/png')
 
- }
 
 
  |