获得过 0 次赞
回答过的问题获得 0 次赞
分享过的文章/案例获得 0 次赞
评论与回复获得 0 次赞
感谢!这个问题太有用了!我之前的代码一塌糊涂,bindtouchstart获取到的坐标是按css中的width和height算的,而canvas中的像素点又是另一套系统,把css中的坐标转换到canvas上的坐标需要把css的X坐标*canvas width/style width。 比如wxml里写<canvas style="width:100px; height:100px">,而js中写canvas.width=200,canvas.height=200,在bindtouchstart里获取到的x,y为(15,20),那么想要在对应的位置画一个长*高的长方形就应该是fillrect(15*200/100,20*200/10,长,高)而不是fillrect(15,20,长,高)。
画布canvas的长度(width)和高度(height)表示问题首先用的代码是你们官方文档上自己写的 https://developers.weixin.qq.com/s/SHfgCmmq7UcM 画布的代码是这样index.wxml [图片] index.js [图片] 执行出的效果是这样 [图片] 问题 为什么我手动把index.wxml文件里的长度和高度设置删除后,直接写在index.js显示的效果会改变?如果这是bug,这问题也太初级了吧,不能好好测试下在上线吗 修改后的index.wxml [图片] 修改后的index.js(直接把width和height设置成300) [图片] 执行的效果就变这样了,变小了 [图片]
2022-02-18