简体   繁体   English

如何使用fabric js中的循环创建多个图标?

[英]How do I create multiple icons using loops in fabric js?

I need to generate multiple icons at a certain interval from each other in Fabric.js.我需要在 Fabric.js 中以一定的间隔生成多个图标。 And this number depends on a loop I have made.这个数字取决于我制作的一个循环。

for (i = 0; i <= file.length(); i++){
miY = 206 + padding;
 fabric.Image.fromURL(placeholder, oImg => {
   oImg.set('left', 32).set('top', miY);
   rCanvas.add(oImg)
 });
padding +=35;
}

I tried using the above code ^ but when I run it, all my icons are generated on the same place.我尝试使用上面的代码 ^ 但是当我运行它时,我所有的图标都在同一个地方生成。 How can I fix this?我怎样才能解决这个问题?

You can try something like this.你可以尝试这样的事情。

const rCanvas = new fabric.Canvas('canvas');
rCanvas.setWidth(document.body.clientWidth);
rCanvas.setHeight(document.body.clientHeight);

let placeholder = "https://dummyimage.com/50x50/000/fff";


async function run() {
    
    let padding = 0;
    let miY = 0;

    for (i = 0; i <= 5; i++){
        miY = 206 + padding;
        await addImage(miY)
        padding +=35;
    }
}

function addImage(miY) {
    return new Promise((resolve, reject) => {
        fabric.Image.fromURL(placeholder, oImg => {
           oImg.set('left', 32).set('top', miY);
           rCanvas.add(oImg)
           resolve();
        });
    });
}

run();

https://jsbin.com/titotigeza/edit?js,output https://jsbin.com/titotigeza/edit?js,output

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM