我正在使用节点画布生成HTML5生成画布的PNG图像(使用fabric.js)。我用它安装了它:
$ PKG_CONFIG_PATH=/usr/X11/lib/pkgconfig npm install canvas
当画布仅包含PNG图像时,node-canvas会将输出图像渲染得很好。但是,如果画布还嵌入了JPEG图像,则会引发异常并退出:
/Users/sa125/node_modules/fabric/dist/all.js:14238
ctx.drawImage(
^
Error: Image given has not completed loading
at klass.fabric.Image.fabric.util.createClass._render (/Users/sa125/node_modules/fabric/dist/all.js:14238:11)
at klass.fabric.Image.fabric.util.createClass.render (/Users/sa125/node_modules/fabric/dist/all.js:14108:12)
at extend._draw (/Users/sa125/node_modules/fabric/dist/all.js:6001:16)
at extend.renderAll (/Users/sa125/node_modules/fabric/dist/all.js:6147:16)
at extend.insertAt (/Users/sa125/node_modules/fabric/dist/all.js:6052:37)
at fabric.util.object.extend._enlivenObjects (/Users/sa125/node_modules/fabric/dist/all.js:8950:15)
at Array.forEach (native)
at fabric.util.object.extend._enlivenObjects (/Users/sa125/node_modules/fabric/dist/all.js:8949:24)
at onLoaded (/Users/sa125/node_modules/fabric/dist/all.js:2082:11)
at /Users/sa125/node_modules/fabric/dist/all.js:2101:11
这不是结构问题,因为在Ubuntu linux上运行相同的canvas生成器时,所有图像都很好(JPEG和PNG)
所以基本上这是一个依赖性问题 - 任何想法我需要brew install
才能使这个工作?我已经安装了libjpeg,以及pango,cairo,pixbuf等。但是,我必须使用上面的PKG_CONFIG安装node-canvas,因为其他任何东西都会破坏安装,可能是因为自制程序处理了一些链接。感谢。