微信小程序 > 微信公开课 > canvas矩形上绘制圆形图片开发者工具正常,真机失败
微信小程序,微信公开课,canvas矩形上绘制圆形图片开发者工具正常,真机失败

canvas矩形上绘制圆形图片开发者工具正常,真机失败

2019-03-15 18:14:06

微信公开课小程序热门讨论关于「canvas矩形上绘制圆形图片开发者工具正常,真机失败」的小程序开发问题
补充:canvas矩形上绘制圆形图片开发者工具正常,真机失败
展开:需求的场景描述(希望解决的问题)画布上绘制矩形后,在该矩形上绘制圆形图片失败,原因是矩形和绘制的圆形重叠导致画入海报背景ctxdrawImage(海报背景图,0,0,thatmyCanvasWidth,thatmyCanvasHeight);ctxdraw()白色矩形ctxrect(12,thatmyCanvasHeight130,thatmyCanvasWidth24,80)ctxsetFillStyle(white)切割成圆角矩形thatdrawRoundedRect(ctx,12,thatmyCanvasHeight130,thatmyCanvasWidth24,80,4)ctxclip()ctxdraw(true)圆形头像画入ctxsave();先保存状态已便于画完圆再用ctxbeginPath();开始绘制先画个圆ctxarc(45,thatmyCanvasHeight90,25,0,MathPI*2)ctxclip()画了圆再剪切原始画布中剪切任意形状和尺寸一旦剪切了某个区域,则所有之后的绘图都会被限制在被剪切的区域内ctxdrawImage(头像图片,20,thatmyCanvasHeight115,50,50)推进去图片ctxrestore();恢复之前保存的绘图上下文恢复之前保存的绘图上下午即状态可以继续绘制ctxdraw(true)ctxdraw(true,setTimeout(function(){wxcanvasToTempFilePath({x:0,y:0,destWidth:375*3,destHeight:550*3,canvasId:canvas,success:function(res){thatimageTempPath=restempFilePath;这就是生成的文件临时路径},fail:function(res){consolelog(res,fail);}})that$apply()},50))})即速小程序:等我回忆一下,当时遇到过这个问题其实就是路径重合了,可以闭合路径或者在画布可视范围外面再画一个矩形就解决了找了一点以前画圆的代码(现在已经换成别的了),在这之前是画过矩形、图片之类的操作的,反正大概是和路径有关系,时间久远具体的忘了ctxsave();ctxbeginPath(); 结束之前的路径ctxsetStrokeStyle(rgba(0,0,0,0));ctxstroke();画圆裁剪ctxarc(imgW2+imgX,imgH2+imgY,imgW2,0,MathPI*2,false);ctxclip();ctxdrawImage(restempFilePath,imgX,imgY,imgW,imgH); ctxrestore();:目前发现的问题是头像基本上安卓可以画圆形图片,但是苹果不行:提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https:developersweixinqqcomminiprogramdevdevtoolsminicodehtml)
更多有关「canvas矩形上绘制圆形图片开发者工具正常,真机失败」的讨论可以前往微信公开课小程序参与互动哦!
标签:微信公开课,小程序
微信小程序,微信公开课,canvas矩形上绘制圆形图片开发者工具正常,真机失败

「canvas矩形上绘制圆形图片开发者工具正常,真机失败」热门讨论订阅

方法1:微信扫描微信公开课小程序码即可订阅热门讨论「canvas矩形上绘制圆形图片开发者工具正常,真机失败」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热门讨论「canvas矩形上绘制圆形图片开发者工具正常,真机失败」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热门讨论「canvas矩形上绘制圆形图片开发者工具正常,真机失败」

微信公开课小程序热门讨论「canvas矩形上绘制圆形图片开发者工具正常,真机失败」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热门讨论「canvas矩形上绘制圆形图片开发者工具正常,真机失败」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。