小龙大哥的微信小程序在初始阶段相当于IE界的6,在这里给大家说一个刚趟过去的坑。
拍照的API。
wx.chooseImage ({ 数:1//默认9 sizeType:“原始”、“压缩”,//可以指定是原图还是压缩图,默认二者都有 sourceType:“专辑”,“相机”,//可以指定来源是相册还是相机,默认二者都有 成功:函数(res) {//返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 var tempFilePaths=res.tempFilePaths; } }); >之前在上边,明确的给出大小的类型,本想省事,然并没有什么用……
废话少说,给大家说下IOS和安卓中差,别拍照图片压缩的坑。//点击照的相 takePictures:函数(){ var=这个; wx.chooseImage ({ 数:1//默认9 sizeType(压缩的)://可以指定是原图还是压缩图,默认二者都有 sourceType(“相机”)://可以指定来源是相册还是相机,默认二者都有 成功:函数(res) {//返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 var tempFilePaths=res.tempFilePaths; that.setData ({ attendSuccessImg: tempFilePaths [0] });//上传图片//判断机型 var模型=" "; wx.getSystemInfo ({ 成功:函数(res) { 模型=res.model; } }) 如果(model.indexOf (“iPhone”) & lt;=0) { that.uploadFileOpt (that.data.attendSuccessImg); console.log (111111) 其他}{ drawCanvas (); }//缩放图片 函数drawCanvas () { const ctx=wx.createCanvasContext (“attendCanvasId”); ctx。drawImage (tempFilePaths [0], 0, 0, 94, 96); ctx.draw (); that.prodImageOpt (); } } }); },//生成图片 prodImageOpt:函数(){ var=这个; wx.canvasToTempFilePath ({ canvasId:“attendCanvasId”, 成功:成功函数(res) { that.setData ({ canvasImgUrl: res.tempFilePath });//上传图片 that.uploadFileOpt (that.data.canvasImgUrl); }, 完成:函数完成(e) { } }); }, >之前再点击拍照后,IOS的进行了图片压缩功能,然而,安卓的依然是那么大,所以在这过程中,我们需要判断下当前机型,然后执行帆布压缩。
上述代码,拿到即可用,但少一部分wxml中需要添加一个画布标签。
进行接口调用。希望对大家有帮助。
为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
微信小程序实现图片压缩功能