javascript - 将 fabricjs Canvas 转换为 base64 图像

标签 javascript node.js canvas fabricjs

我正在尝试将 Canvas 作为图像发送到我的服务器,我想以 base64 格式发送。 Fabricjs 提供使用 canvas.toSVG()canvas.toDataURL({format: 'image/png'}) 将 Canvas 转换为图像,但是我日志中的输出似乎是一个 Klass 对象(第一次看到)并且在将该对象发送到服务器并记录服务器上收到的内容后,我得到一个空对象或路径,即:

{ version: '2.0.0-rc.3', objects: [] }
{ version: '2.0.0-rc.3',
  objects: 
   [ { type: 'path',
       version: '2.0.0-rc.3',
       originX: 'left',
       originY: 'top',
       left: 156.21249771118164,
       top: 221.20000457763672,
       width: 132,
       height: 53,
       fill: null,
       stroke: 'Red',
       strokeWidth: 10,
       strokeDashArray: null,
       strokeLineCap: 'round',
       strokeLineJoin: 'round',
       strokeMiterLimit: 10,
       scaleX: 1,
       scaleY: 1,
       angle: 0,
       flipX: false,
       flipY: false,
       opacity: 1,
       shadow: null,
       visible: true,
       clipTo: null,
       backgroundColor: '',
       fillRule: 'nonzero',
       paintFirst: 'fill',
       globalCompositeOperation: 'source-over',
       transformMatrix: null,
       skewX: 0,
       skewY: 0,
       path: [Object] } ] }

类对象控制台图像:

enter image description here

我的代码:

var canvas = new fabric.Canvas();
canvas.loadFromJSON(val[i].story); //val has saved canvas
canvas.toSVG(); //or to dataURL()

我试过了 this并且仍然是同一个 klass 对象,需要将 Canvas 转换为 base64 图像(首选 png)并发送到我将转换为图像文件的服务器,谢谢。

最佳答案

因此在创建 Canvas 时我缺少 Canvas 的 ID

var canvas = new fabric.Canvas('canvasID');

关于javascript - 将 fabricjs Canvas 转换为 base64 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48305765/

相关文章:

javascript - 在图像 slider 动画中获得平滑过渡

javascript - 注销时 vuex 为空状态

javascript - 预过滤条件 - deep-diff Node.js

javascript - 使用 imagemagick 将透明 PNG 转换为 JPEG

javascript - 尝试使用 Websocket 和 Express 服务器发布产品表

javascript - 我正在尝试让我的导航菜单向左滑动并用它插入正文

node.js - 如何使用express检查 Node 中的jwt登录

javascript - 如何在 fabric.js 的 Canvas 上触发自定义事件?

javascript - 等待动画与 html5 Canvas

android - 为动态壁纸缩放位图最节省内存的方法?