creator打开资源管理器并打开图片转换成base64

在pc上打开资源管理器,并选择一张图片,最终转换成在creator里面显示的sprite
@ccclass

export default class NewClass extends cc.Component {

@property(cc.Sprite)

mPic: cc.Sprite = null;

start() {

}

//浏览图片

public onScanPicClick() {

    this.loadMap();

}

private loadMap() {

    var input = document.createElement('input');//创建一个选择框

    document.body.appendChild(input);

    let self = this;

    //当选中文件

    function openfile(event) {

        var input = event.target;

        var reader = new FileReader();

        reader.onload = function () {

            reader.abort();

            let text: any = reader.result;//转换成的base64文件

            document.body.removeChild(input);

            //通过image转换成我们可以使用的cc.Texture2D

            let image = new Image();

            image.src = text;

            image.onload = () => {

                let pic: cc.Texture2D = new cc.Texture2D();

                pic.initWithElement(image);//把base64文件赋值给图片

                self.mPic.spriteFrame = new cc.SpriteFrame(pic)

                console.log('宽高', pic.width, pic.height);

            };

        };

        //转换成base64

        reader.readAsDataURL(input.files[0]);

    };

    input.type = 'file';

    input.accept = "image/*";//设置选择的文件类型,这里是图片

    input.onchange = openfile;

    input.click();

}

// update (dt) {}

}