javascript - fabric.js - 从 canvas API 的 ImageData 对象创建 Image 对象

标签 javascript canvas fabricjs

我想在 fabric.js 中从 ImageData 对象创建一个图像对象,我们可以从中获取 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/

相关文章:

javascript - 使用 JavaScript 将客户端日期/时间字符串转换为 JSON 日期/时间字符串

javascript - HTML5 全局变量在两个地方不同

javascript - 使用 fabric.js 在 Canvas 中保存 JSON

javascript - Fabricjs 鼠标 :down event fires twice

javascript - fabric.js 将事件监听器分配给多个事件的对象

php - 谷歌分析事件跟踪代码不工作

javascript - 向 firestore 添加计算(计数)字段

javascript - 在 D3 和弦图中使用工具提示获取值 - 错误 : "property of target undefined"

javascript - Web 应用程序性能 : SVG, Canvas 或 Dom 操作

javascript - 在 Canvas 中沿着弯曲路径绘制形状