51dev.com IT技术开发者社区

51dev.com 技术开发者社区

微信小程序之--canvasToTempFilePath

微信小程序IT技术学习阅读(614)2018-04-24 收藏0次评论

  最近做的小程序需要图片上传头像的功能,不对上传的图片做处理肯定出来的效果不好;所以就隐藏了一个canvas对上传的图片进行压缩或者进行大小的编辑;

通过chooseImage方法,可以拿到图片的临时路径;然后,drawImage到canvas上;再通过canvasToTempFilePath的方法将处理后的图片导出路径来,最后上传到服务器上;

那么问题出现了:选择的图片drawImage到canvas没有问题;但是怎么canvasToTempFilePath导出的路径图片都是空白的;

问题过程:

                 1、之前,通过这种方式导出来没有问题的;

                 2、从网上找到大家解决方式,通过draw回调来导出图片,但是还是不行,draw的第一次参数reserve设置为false;

                 3、修改fileType类型;

通过以上方法仍旧不行,经过反复跟踪才发现原来问题不出在canvasToTempFilePath这个方法上;原来是我在选择图片的时候canvas标签是hidden的,选择图片后才让它显示。

这样拿到的canvas中的图片对象是空的,造就了图片是空白的;

还有一种情况导出图片是空白,是因为draw的回调函数是异步的,在调用canvasToTempFilePath方法适当的加一些时间延迟;

以上就是微信小程序之--canvasToTempFilePath的全部内容,请多关注【51DEV】IT技术开发者社区。