微信小程序-如何获取base64图片的宽高?

微信小程序如何获取base64图片的宽高?

相信大家很多时候都遇到过需要获取base64图片宽高的时候,在js中获取。

let base64 = \'data:image/png;base64,........\';
let img = new Image();
img.onload = function(){
    console.log(\'height\',img.height);
    console.log(\'width\',img.width);
}

img.src = base64; 

通过这样就可以获取到base64的宽高

当在小程序中需要获取base64图片宽高的时候,查了查微信小程序的api文档也没有满足这个情况的方法。

最后找到一个小程序image组件的一个bindload方法。

最后解决方法如下:

<image bindload="imgBindload" class="sign_page_img" src="{{pageItem.base64}}" mode="widthFix"></image>

// 获取原始图片的宽高--pdf宽高
imgBindload(e) {
        // 阻止图片加载每次都执行。如果是循环出来的图片的话,只执行第一次。
        if (this.data.pdfWidth) {
                return false
        }
        this.data.pdfWidth = e.detail.width
        this.data.pdfHeight = e.detail.height
    //干点其他的
},