node-canvas和jpeg在OSX上构建依赖关系

时间:2013-03-17 12:46:07

标签: node.js canvas osx-snow-leopard libjpeg build-dependencies

我正在使用节点画布生成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,因为其他任何东西都会破坏安装,可能是因为自制程序处理了一些链接。感谢。

0 个答案:

没有答案