问题标签 [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 回答
312 浏览

javascript - 重叠剪裁问题

我有一个问题,我要抓住一个用户displayAvatar(),然后我使用弧线使图像变圆。这很好用,但是,我需要在该图像上放置一个圆圈,但由于之前的原因,它被切成了两半clip()

没有clip()https ://i.gyazo.com/b474c656f33a1f004f5e3becffcef527.png

clip()https ://i.gyazo.com/da13377cd3f6dc7516c2b8fd1f0f8ac9.png

我知道在“使用剪辑()”图像中,弧形边框似乎显示在剪辑之外,但这是硬编码到图像中的,我将其作为图像编辑器的指南。

我试着移动代码,我删除了这条线ctx.clip(),看到我的圆圈在图像顶部显示得很好。

0 投票
1 回答
997 浏览

node.js - 将多个图像添加到画布中

我正在尝试创建一个包含图像在内的信息的“横幅”。

横幅如下所示:

在此处输入图像描述

图像将放置在圆圈上,然后文本将位于其他区域。

我的尝试失败了,因为创建了一个空图像。

我究竟做错了什么?

0 投票
0 回答
81 浏览

node.js - Nodejs Canvas 模块在命令行加载,但不会在 nssm 服务中加载

使用 nssm 服务管理器运行节点应用程序时,不会加载画布模块,但从命令行运行应用程序时会加载。

该服务运行在win7/32位,node版本为10.16,canvas版本为2.5。

0 投票
1 回答
1085 浏览

html5-canvas - 当 SVG 包含具有自定义字体的文本时,FabricJS 无法正确渲染 SVG?

当 SVG 包含具有自定义字体的文本时,我在 fabricjs 中渲染 SVG 时遇到问题。 在此处输入图像描述

如何使用自定义字体使 Fabricjs 中的 SVG 显示正确?

这是我的代码:

这是我的资源:
1. 字体文件:CurlzMT
2. SVG 文件:group_test.svg

谢谢!

0 投票
5 回答
7224 浏览

docker - node canvas on alpine within docker

I'm trying to install node canvas (https://github.com/Automattic/node-canvas) on Alpine within docker.

These are (parts of) my Dockerfile:

When I try to boot my docker container the following error appears:

I'm guessing that it has something to do with the fact that Alpine uses musl instead of glibc but I thought that rebuilding canvas from source npm rebuild canvas --build-from-source would be enough.

I've already tried most suggestions from https://github.com/Automattic/node-canvas/issues but none is working for me.

Any suggestions ?

0 投票
1 回答
155 浏览

node-canvas - 在带有节点画布的 Web 浏览器中使用自定义字体

registerFont在节点画布中,我知道您可以按照文档使用未安装为系统字体的自定义字体: https ://www.npmjs.com/package/canvas#registerfont

该函数将本地字体文件的路径作为第一个参数。

在 Web 浏览器实现中,有没有办法实现类似的功能?如果已安装字体,我可以使用它,但我希望能够下载并注册自定义字体。

0 投票
0 回答
138 浏览

javascript - 如何将图像从 cli stdout 加载到缓冲区并插入到画布

我需要将从 cli 脚本生成的图像加载到画布中。

如果我在我的控制台运行$ render -id 1 -o > foo.png它就像一个魅力,png 保存为foo.png.

在输出PNG的最后步骤里面render -id 1 -o基本上看起来有点像这样。

它读取保存的临时文件并输出。

不幸的是,我不能返回临时文件的名称,然后再次加载 png。

更新我怀疑exec命令的缓冲区大小导致了这个问题,所以我将 maxBuffer 提高到1024*10240应该是 10mb 左右。图像不应大于 2-3mb。但这没有帮助。

0 投票
1 回答
131 浏览

javascript - 这是否可以在服务器端使用带有 Node.JS 的前端 JS 框架来创建用于内容交付的 Web 服务?

我有一个使用 HTML canvas 标签的 Playcanvas(一个 JS GameEngine 框架)制作的完整项目。该项目还可以生成不同格式的图像(base64、dataUrl、blob、jpeg)。

我想把这个项目放在服务器端,以创建一个新的 Web 服务,该服务可以交付从 Playcanvas 项目生成的图像。

那么,这是否可以使用来自客户端的功能代码并将其与 Node.JS 一起放在服务器端?我知道一些像node-canvas这样的作品可以实现类似的目标。

在此处输入图像描述

0 投票
0 回答
102 浏览

javascript - Canvas 无法正确安装以使用 webppl 和 webppl-viz

我正在尝试使用命令行在 WebPPL 中运行一个简单的脚本,该脚本运行以下可视化:

按照 GitHub repo 上的说明,我已经安装了 webppl,并且还通过npm install probmods/webppl-viz在文件夹中运行来安装 webppl-viz ~/.webppl。我还通过输入将 node-canvas 安装在同一文件夹中npm install canvas。但是,我收到以下错误:

我怀疑这是由于一些依赖项没有正确安装,尽管我不知道如何解决这个问题。我知道 WebPPL 脚本在浏览器中正确运行。

0 投票
1 回答
481 浏览

node.js - node-canvas 将 .ttf 文件导入 TS 以用于 registerFont

我想在由node-canvas.

我创建了一个打字文件并将其添加到我的tsconfig

字体.d.ts

我的字体被导入并注册:

字体/index.ts

组件.ts

但是,当代码运行时,我收到错误:

“errorType”:“Runtime.ImportModuleError”,“errorMessage”:“错误:找不到模块'./comic-sans.ttf'”

我正在使用 Typescript 和 NodeJS。这是导入字体的错误方法(像这样使用)吗?

我保证不会再使用 Comic Sans。