cocos creator 3.x 图片转base64以及base64转图片

大佬来瞅瞅呗,搜之前的帖子,发现之前有大佬封装了方法能够转换base64,照着大佬的代码整了下,没成功。。。
creator项目里的图片转base64 - Creator 2.x - Cocos中文社区
这是代码
function imgToBase64(url,callback) {
let canvas = document.createElement(“canvas”)
let ctx = canvas.getContext(‘2d’)
let img = new Image()
img.crossOrigin = ‘Anonymous’
img.src = ‘res/raw-assets/’ + url
img.onload = function(){
canvas.height = img.height
canvas.width = img.width
ctx.drawImage(img,0,0)
let dataURL = canvas.toDataURL(‘image/png’)
canvas=null
if(callback) callback(dataURL)
}
}
imgToBase64(‘resources/test_assets/tape.png’,(dataURL)=>{
console.log(dataURL)
})
谷歌浏览器预览提示404


这是我的目录
image
感觉是img.src = ‘res/raw-assets/’ + url 的问题,之前查了下 'res/raw-assets/'是获取assets根目录,那这样拼接应该没有问题才对。。。
有没有大佬帮忙瞅一眼,有没有啥问题来着,毕竟四五年前的方法了。
悄咪咪问一句,现在有没有新的实现方法呢?

代码缩进有问题,我直接贴图吧

找大佬问了下, ‘res/raw-assets/’ + url是微信获取的方法。。。

 resources.load( "test_assets/apple", ImageAsset, (err, imageAsset) => {
        if (err) {
            console.log(err)
            return;
        }
        let canvas = document.createElement("canvas");
        let ctx = canvas.getContext("2d");
        let img = imageAsset.data;
        canvas.width = imageAsset.width;
        canvas.height = imageAsset.height;
        ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
        let dataURL = canvas.toDataURL('image/png')
        console.log(dataURL)
    });

现在resources.load()就能从resources文件夹内导出资源,再画到canves上就好了,贴上代码,此贴完结。。。

2赞