问题标签 [node-canvas]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
250 浏览

node.js - 使用节点画布从右到左的段落写作,基于开罗的实现

我正在尝试在我的 node.js 服务器上生成包含从右到左文本的图像。

我目前正在使用节点画布(基于“Cairo”),但如果其他库能做到这一点,请提出建议。

要清楚:

  1. 我需要支持才能编写从右到左的文本
  2. 实际字体与这个问题无关,字体的方向也无关。EG:我不介意在我的软件中倒写单词,只要它们会在图像中从右到左显示。(例如不支持希伯来语,如果我写“תודה”这个词,它将改为“התוד”。这个我可以处理,问题是段落方向。)
0 投票
1 回答
703 浏览

javascript - Paper.js 服务器端无法使用接收到的图层

为了减少客户端负载,我们正在尝试在 Node Express 服务器上扁平化 Paper.js 层。我们有很多层要使用大量图像数据进行展平。而不是覆盖我们的数据结构,我们希望最终得到包含光栅化(扁平化)层的新对象。

所以我们有一个看起来像这样的 Express 路由:

.layer是在客户端制作的原生 Paper.js 层。

当我们到达这条路线时,我们会收到这个错误:

TypeError: pdf.pages[j].layer.activate 不是函数

考虑到也许我们不需要担心在服务器端激活层,我将其注释掉,但该.rasterize行得到了相同的错误。(参见注释为“Blows up”的两行。)

我是否需要以某种方式将从客户端收到的图层导入项目中?我试图用这条线做到这一点:

但无济于事。

如何修改此方法以成功使用服务器端的图层?

0 投票
1 回答
782 浏览

node.js - nodeJS上的织物,根本没有图像渲染

问题出在 Ubuntu 14.04 上:NodeJS:0.10.32 Canvas:1.3.6 Fabric:1.6.0-rc.1

示例 JSON:

请注意,使用 toJSON() 导出的这个 JSON 有一些自定义字段:[name, id]。

这是来自我的节点脚本:

事实:

  1. 无论我添加什么类型的对象('image'、'path'、'path-group'),它们都不会呈现,除了文本,也许(我没有测试过)PATHS 不是来自 URL 的。
  2. 在上面的 JSON 中有背景 img - 它也不会呈现。
  3. 根本没有错误,但是:

    OSX 上相同的脚本可以正常工作,但是:

    当我尝试添加“大”SVG 文件时,它给了我:“给定的图像尚未完成加载”适用于大量普通 PNG。

“渲染”最终 PNG 的时间与对象的数量和它们的图像大小成正比,这可能表明它们加载得很好。

我已经安装了所有依赖库。

试图添加一个以同样问题结尾的对象:

我打赌 node-canvas 以某种方式在 URL 上失败了。

我花了将近 2 天的时间试图解决这个可怕的问题];>

0 投票
1 回答
544 浏览

node.js - 在 EC2 上安装节点画布 - fontconfig.h 构建错误

我正在尝试在 AWS EC2 实例上node-canvas进行构建。npm install我正在尝试使用最新(2016 年 2 月)版本的画布,1.3.10

我按照此处概述的说明进行操作: https://github.com/Automattic/node-canvas/wiki/Installation---Amazon-Linux-AMI-(EC2)

并且似乎已经很好地安装了 libpng、jpeg、pixman、freetype 和 cairo。

然后我做了:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

sudo yum install giflib-devel

修复一些构建错误,并再次尝试安装 npm。

现在由于缺少文件错误,构建失败:

我在这里想念什么?我可以在我的本地 OSX(画布运行良好)上找到这个文件,下opt/X11/include/fontconfig- 我如何以合理的方式将其发送到 EC2?否则,我该如何解决这个问题?

非常感谢您的任何帮助!

0 投票
1 回答
1917 浏览

javascript - 使用节点画布渲染three.js服务器端?

我一直在尝试使用官方的 three.js 包来渲染图像,three通过npm使用. 到目前为止,运气并不好。canvasnpm

我相信这应该是可能的,因为节点画布(https://github.com/Automattic/node-canvas)是一个全栈画布渲染器,我只是不知道如何修复这个库和three.js之间的桥梁使它们一起工作以进行服务器端渲染

这是我失败的方法:

通过遵循旧的 github 帖子,我设法修改了three.js文件的开头,如下所示:

现在当我使用画布渲染器渲染东西时,我没有收到任何错误。

不知道如何管理这个东西来输出文件,或者渲染任何东西。

任何帮助都会受到重视。

0 投票
0 回答
344 浏览

asp.net - 使用fabricjs在asp.net服务器上生成图像

我已经使用 FabricJS 一段时间了,有一个面板可以使用 FabricJS 创建模板,并在服务器端以 json 格式保存该模板。在运行时,我想生成已保存模板的图像文件,即 json 文件的内容将发生变化,例如,保留了一个占位符来动态更改文本,但想将其保存在服务器上的图像中。

Microsoft asp.net MVC 有什么类似于“节点画布”的东西吗?

任何指针肯定会有很大帮助。

谢谢~杰克

0 投票
1 回答
1940 浏览

node.js - npm 错误!在 canvas@1.4.0 安装脚本 'node-gyp rebuild 失败

我正在尝试将我的应用程序部署到digitaloceanwith dokku。即使我已经 ssh'ed 到 digitalocean 机器并按照 wiki ( sudo apt-get install libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++) 中的说明运行命令来安装所有依赖项,我仍然收到以下错误:

我用谷歌搜索了很多,唯一的解决方案是 install libgif-dev,但我已经安装了它。那么有什么想法可能是错的吗?

规格:Ubuntu 14.04,dokku 0.6.3,节点 4.4.5,npm 2.15.5

0 投票
1 回答
427 浏览

node.js - 如何使用节点画布在图像上覆盖 unicode 字符?

我正在尝试在图像上覆盖 unicode 字符,但字符未显示。

0 投票
1 回答
1693 浏览

aws-lambda - 在 Lambda 函数中使用节点画布?

我正在尝试使用node-canvasAWS Lambda 函数创建动画 gif。但我什至都在努力摆脱所有依赖项。

我已经阅读了这里的帖子,但它主要是希腊语,我无法让它工作。

我更喜欢开箱即用(预建)选项并且已经找到node-canvas-lambda-deps,但是文档很少(不存在),所以我不确定如何使用它。

我试过逐字复制这个例子,但只是得到错误:

获取节点画布的任何提示,或创建动画 gif 的任何方法,在 Lambda 中运行?

0 投票
1 回答
1283 浏览

node.js - 使用 Node 在 THREE.js 中加载纹理

我正在尝试构建一个信使机器人,它在 3d 中进行一些图像处理并返回一个全新的图像。我使用 THREE.CanvasRenderer,我的应用托管在 Heroku 上。

当用户 /POST 将附件发送到我的 webhook 时,我想获取新创建的图像的 URL 并将其插入到我的 3d 场景中。

这是我的代码(使用节点画布库):

回调开始运行,我实际上可以console.log()显示图像的内容,但场景中没有显示任何内容 - 我应该渲染的飞机只是变黑而没有任何错误......我在这里错过了什么?

我还尝试了其他几种方法,但均未成功...

我尝试使用THREE.TextureLoaderjsdom (mock document, window) and来使用和修补它node-xmlhttprequest,但是我的load事件出现错误(event.target 没有定义......)就像在这个例子中一样

应该如何解决这个问题?我有一个url由 Facebook 生成的图像,我想从中下载图像并将其放置在我的场景中?