我想从 ImageData 对象在 fabric.js 中创建一个图像对象,我们可以从中获取 ImageData:

var imgData=ctx.getImageData(10,10,50,50);
//ctx.putImageData(imgData,10,70);

// something liket that
var image = new fabric.Image.fromImageData (...);

有没有办法从 ImageData 对象创建图像对象?

最佳答案

让我把我的想法放在这里,我不喜欢这种方式,但周围没有其他人 -

var ctx = canvas.getContext('2d');
var data = ctx.getImageData(0, 0, 20, 20);

var c = document.createElement('canvas');

c.setAttribute('id', '_temp_canvas');
c.width = 20;
c.height = 20;

c.getContext('2d').putImageData(data, 0, 0);

fabric.Image.fromURL(c.toDataURL(), function(img) {
    img.left = 50;
    img.top = 50;
    canvas.add(img);
    img.bringToFront();
    c = null;
    $('#_temp_canvas').remove();
    canvas.renderAll();
});

关于javascript - fabric.js - 从 Canvas API 的 ImageData 对象创建 Image 对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18799415/

10-12 12:38
查看更多