Tag: fabricjs

Fabric.js从JSON加载canvas后,在Node服务器上创build图像

过去几天里,我一直在试图弄清楚这个问题。 在我写的应用程序中,用户可以上传两个图像,一个覆盖另一个。 将一个图像放在另一个图像的顶部之后,他们点击一个button,canvas转换为JSON并发送到节点(快速)服务器。 然后通过将JSON数据加载到canvas重新创buildcanvas,使用乘数2调用toDataURL并将数据写入png文件。 router.post('/', function(req, res) { var canvas = fabric.createCanvasForNode(600, 600); canvas.loadFromJSON(req.body, function() { var dataUrl = canvas.toDataURL({ format: 'png', multiplier: 2 }); imageSrc = dataUrl.replace(/^data:image\/png;base64,/, ""); fs.writeFile('hello.png', imageSrc, 'base64', function(err) { console.log('Error: ' + err); }); }); 如果我不使用乘数(即乘数为1),则会按预期创build600x600像素的图像。 但是,当我将倍数设置为2时,为了获得更高分辨率的图像,只有生成的图像的右上angular包含从canvas创build的图像。 PNG图像是截止的 我发现在线资源说这是以前版本的面料的一个问题,我已经看到别人的解决方法,但似乎没有解决我的问题。 任何帮助,build议或资源将不胜感激! 编辑也许我应该包括一个如何将JSONcanvas传递给服务器的示例: var json = JSON.stringify(canvas); var http = new XMLHttpRequest(); […]

使用fabric.js渲染和操作node.js中的服务器端canvas

我试图在node.js上使用fabric.js(v0.9.21,通过npm在Ubuntu 12.04上安装)来渲染服务器上的canvas(稍后可以在没有客户端交互的情况下进行操作和扩展)。 为了进行实验,我在客户端创build了一个简单的canvas,然后使用canvas.toJSON()方法将其导出到JSON。 当我尝试使用那个JSON重新加载canvas时,它工作得很好(利用canvas.loadFromJSON() )。 你可以在这个小提琴中看到整个例子。 (如果它不起作用,那么图像可能已过期 – replace链接)。 然后我尝试使用这个简单的脚本在服务器端做同样的事情: var fabric = require('fabric').fabric; var fs = require('fs'); var canvas = fabric.createCanvasForNode(570, 600); fs.readFile('kitty.json', 'utf8', function(err, data) { canvas.loadFromJSON(data); }); 当我运行这个脚本(使用node script.js或require('./script.js') from inside node时,我得到一个奇怪的崩溃: > http.createClient is deprecated. Use `http.request` instead. /usr/lib/node_modules/fabric/dist/all.js:12429 ctx.drawImage( ^ Error: Image given has not completed loading at klass.fabric.Image.fabric.util.createClass._render (/usr/lib/node_modules/fabric/dist/all.js:12429:11) […]

在python服务器上构build来自Fabric.js JSON的图像

使用python,是否有可能从fabric.jscanvas的json表示重构图像? 使用Node.js很容易,但是我使用的是django,所以我不想运行一个单独的node.js服务器来创build这些映像,将它们发送到我的django服务器。