小程序
小游戏
企业微信
微信支付
扫描小程序码分享
2d类型的canvas,putImageData在真机预览时不管用。开发工具里是可以的。线上未知。。
代码片段
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这个问题我们排查下,可以先用 canvas.createImageData 接口来创建 ImageData https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImageData.html
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
let context = canvasNode.getContext("2d"); let imageObj = canvasNode.createImage(); imageObj.src = "https://test.local/bg.png"; imageObj.onload = function(){ context.drawImage(imageObj, 0, 0, actualWidth, actualHeight); };
我为了在棋盘上绘制箭头,反复测试自己的代码,发现:在手机上(SDK version : 2.12.1, 微信7.0.17,Android 10 ,MIUI 12.0.2),必须经历context.drawImage()这一步,而且背景图片不能完全透明,否则context.putImageData()不工作,这跟html5的canvas的.putImageData()不一样。
如果要让canvas恢复透明的样子,方法有:
1、等待微信小程序团队修改context.putImageData();
2、使用context.clearRect()代替context.putImageData()。
你的代码,我在手机上预览了,把sdk的版本调高就可以了(我的手机上的微信小程序的SDK version : 2.12.1)。
你好,不管用具体是什么表现呢?Android还是ios呢?出现问题的机型、系统版本、微信版本麻烦都提供下
不管用就是画不出来啊。代码片段里画了个蓝色区块,开发工具里是可以画出来的,但预览的时候没有画出来。
机型:iPhone11
系统版本:iOS 13.1.2
微信版本:7.0.8
基础库:2.9.4
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这个问题我们排查下,可以先用 canvas.createImageData 接口来创建 ImageData https://developers.weixin.qq.com/miniprogram/dev/api/canvas/Canvas.createImageData.html
let context = canvasNode.getContext("2d"); let imageObj = canvasNode.createImage(); imageObj.src = "https://test.local/bg.png"; imageObj.onload = function(){ context.drawImage(imageObj, 0, 0, actualWidth, actualHeight); };
我为了在棋盘上绘制箭头,反复测试自己的代码,发现:在手机上(SDK version : 2.12.1, 微信7.0.17,Android 10 ,MIUI 12.0.2),必须经历context.drawImage()这一步,而且背景图片不能完全透明,否则context.putImageData()不工作,这跟html5的canvas的.putImageData()不一样。
如果要让canvas恢复透明的样子,方法有:
1、等待微信小程序团队修改context.putImageData();
2、使用context.clearRect()代替context.putImageData()。
你的代码,我在手机上预览了,把sdk的版本调高就可以了(我的手机上的微信小程序的SDK version : 2.12.1)。
你好,不管用具体是什么表现呢?Android还是ios呢?出现问题的机型、系统版本、微信版本麻烦都提供下
不管用就是画不出来啊。代码片段里画了个蓝色区块,开发工具里是可以画出来的,但预览的时候没有画出来。
机型:iPhone11
系统版本:iOS 13.1.2
微信版本:7.0.8
基础库:2.9.4