微信小程序开发(图片转移到base64兼容ios)
小程序开发
浏览:1001 次

在微信小程序的开发过程中,总是会出现上传图片的问题。互联网上的大多数搜索都是这样的
canvas=wx.createCanvasContext(canvasID)
帆布。drawImage(imgPath,0,0,imgWidth,imgHeight)
帆布绘制(false,()=>{
wx。canvasGetImageData({canvasId:canvasId,x:0,y:0,width:imgWidth,height:imgHeight,成功(res){
让pngData=upng.encode([res.data.buffer],res.width,res.height)
让base64=wx.arrayBufferToBase64(pngData)
}
})})
回答这个问题的童鞋一定没有用iPhone测试过。有了这个代码,iPhone下面的图片就颠倒了。这是微信的坑

wx。canvasGetImageData({canvasId:canvasId,x:0,y:0,width:imgWidth,height:imgHeight,成功(res){
因此,返回的res应该是兼容的,如下所示
让平台=wx.getSystemInfoSync().platform
如果(平台=='ios'){
res=that.reverseImgData(res)
}
此处所需的本地reverseImgData函数也已发布
反转图像数据(res){
var w=相对宽度
var h=相对高度

设con=0
对于(var i=0;i 对于(var j=0;j con=res.data[i*w*4+j] res.data[i*w*4+j]=res.data[(h-i-1)*w*4+j] res.data[(h-i-1)*w*4+j]=con } } 返回res } 这个问题完美地解决了 如果你认为这篇文章写得很好,请毫不犹豫地欣赏它