微信小程序使用canvas
创始人
2024-12-01 00:34:10
0

引用:https://blog.csdn.net/skyblacktoday/article/details/83214546

小程序不能直接将网络图片画到canvas上,,需要使用wx.getImageInfo将图片存到本地,,然后再画入canvas ,

  
 generateCard(){      const {canvasWidth} = this.data     const ctx = wx.createCanvasContext('canvas')     ctx.width = canvasWidth     ctx.drawImage("../../assets/recommend_scene/certificate.jpg",0,0,canvasWidth,300)     ctx.setFontSize(24)     ctx.setFillStyle("#000")     ctx.fillText(this.data.userinfo.username,170,218)        // 绘制圆角矩形路径并裁剪      const imgX = 190; // 图片的X坐标      const imgY = 156; // 图片的Y坐标      const imgWidth = 40; // 图片的宽度      const imgHeight = 40; // 图片的高度      const borderRadius = 20; // 圆角半径        ctx.save(); // 保存当前的绘图上下文       // 创建圆角矩形路径       ctx.beginPath();       ctx.moveTo(imgX + borderRadius, imgY);       ctx.arcTo(imgX + imgWidth, imgY, imgX + imgWidth, imgY + imgHeight, borderRadius);       ctx.arcTo(imgX + imgWidth, imgY + imgHeight, imgX, imgY + imgHeight, borderRadius);       ctx.arcTo(imgX, imgY + imgHeight, imgX, imgY, borderRadius);       ctx.arcTo(imgX, imgY, imgX + imgWidth, imgY, borderRadius);       ctx.closePath();       ctx.clip(); // 裁剪路径       wx.getImageInfo({         src: this.data.userinfo.avatar,         success:(res)=>{           console.log(res,"123")           ctx.drawImage(res.path,imgX,imgY,imgWidth,imgHeight)           ctx.restore(); // 恢复之前保存的绘图上下文           ctx.draw(false,(res)=>{             wx.canvasToTempFilePath({               canvasId:"canvas",               success:(res)=>{                 this.setData({                   imageData:res.tempFilePath                 })               },               fail:(err)=>{                 wx.showToast({                   title: '生成图片失败',                   icon:"none"                 })               }             })           })         }       })           }, 
  saveCard(){     const { imageData } = this.data     if(imageData){       wx.saveImageToPhotosAlbum({         filePath: imageData,         success:()=>{           wx.showToast({             title: '卡片已保存到相册',           })         },         fail:(err)=>{           wx.showToast({             title: '保存失败',             icon:"none"           })         }       })     }else{       wx.showToast({         title: '请先生成卡片',       })     }   }, 

相关内容

热门资讯

记者发布!微乐河南麻将辅助io... 记者发布!微乐河南麻将辅助ios,天天炫斗辅助工具,先前有开挂辅助神器(真的有挂)这是一款可以让一直...
透视代打!wejoker辅助机... >>您好:hhpoker俱乐部是干嘛的确实是有挂的,很多玩家在这款hhpoker俱乐部是干嘛的游戏中...
热点推荐!中至赣牌圈有没有辅助... 热点推荐!中至赣牌圈有没有辅助,约战沙城挂机辅助,教会开挂辅助插件(有挂技术);无需打开直接搜索薇:...
揭秘几款!温州茶苑辅助软件,威... 揭秘几款!温州茶苑辅助软件,威信茶馆免费辅助器,固有有开挂辅助平台(有挂方针) 了解更多开挂安装加(...
透视游戏!aa poker辅助... 透视游戏!aa poker辅助,微乐小程序黑科技免费(详细教程辅助神器) 了解更多开挂安装加(136...
盘点一款!约局吧辅助辅助外开挂... 多乐跑得私人房间作弊视频开挂教程视频分享装挂详细步骤在当今的网络游戏中,多乐跑得私人房间作弊视频作为...
一起来探讨!钱塘十三水透视卦,... 一起来探讨!钱塘十三水透视卦,友友联盟免费辅助器,原先有开挂辅助安装(有挂头条)您好:友友联盟免费辅...
透视有挂!德州辅助工具到底怎么... 透视有挂!德州辅助工具到底怎么样,微信小程序游戏破解器(微扑克教程辅助软件)您好:德州辅助工具到底怎...
热门推荐!哈糖大菠萝助手,福建... 您好:福建天天开心辅助工具视频这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多...
我来教教大家!哈糖大菠萝辅助神... 哈糖大菠萝辅助神器是一款专注玩家量身打造的游戏记牌类型软件,在哈糖大菠萝辅助神器这款游戏中我们可以记...