问题标签 [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.
canvas - 在节点画布中使用 Web URL 注册字体
我想使用一个画布,它从 nodejs 服务器端的网页 URL 加载 Google 字体。
我使用了以下代码:
但我收到“找不到路径”错误。我们可以加载registerfont
任何网址吗?我已经成功加载了之前下载过的本地字体。但是有没有机会通过网页 URL 加载它们?
node.js - node-canvas registerFont 部署后找不到字体文件(在本地工作)
我有一个 Node.js 服务器,它使用节点画布在服务器端的图像上呈现文本。这里是回购:https ://github.com/shawninder/meme-generator (只是git clone
,npm i
和npm run dev
本地运行)。
正如您将在代码中注意到的那样,我正在加载Anton字体,这是我从这里registerFont
获得的,带有node-canvas 提供的文档化函数
在本地,一切都像魅力一样,但是当我部署到Vercel(以前称为 zeit)时,该行会引发ENOENT
错误:
没有这样的文件或目录,lstat '/var/task/fonts'
- 有没有我可以在这里使用的路径,可以从 Vercel 函数中成功加载字体?
- 我能否找到一条既能在本地工作又能在部署后工作的单一路径?
node.js - 使用 node.js 在画布上无法识别 Unicode 表情符号
我正在将 node.js 与 canvas 模块一起使用,并且我正在尝试用它创建一个图像。这一切都运作良好,并且可以使用本地主机按需要运行。当我在 heroku 上托管我的 discord.js 机器人时,不再识别 unicode 表情符号(高于 v6.1 unicode)。Wat会是解决这个问题的方法吗?
请参阅本地主机和 heroku 主机的附件图像。
node.js - 使用带有 nodejs 的 vega 的画布问题(仅限服务器端)
我已经在 Discord 机器人上工作了几个星期,它基本上编译服务器上的统计数据并推断模式。为了改进它,我想让它以 PNG 格式生成图形,以便将它们发送回用户——简而言之,没有 DOM。为了实现这一点,我正在使用 vega(版本 5.10.1 - 最新)和 node-canvas(版本 2.6.1 - 最新)和 nodejs v12.16.1。
我一直在网上搜索有关 vega 使用的帮助,并发现了一些相互矛盾的来源。我一直在使用此处提供的示例代码: https ://vega.github.io/vega/usage/
问题是我不断收到此错误:
这是给我带来麻烦的代码:
我真的不知道 canvas 或 vega 是如何工作的,所以我不知道是什么导致了这个问题以及如何解决它......但是,问题似乎位于toCanvas()
方法内部。任何帮助深表感谢 !
提前致谢 !
node.js - DiscordJS Canvas 静默失败。为什么?
我一直在学习创建 Discord 机器人的基础知识,并且一直在尝试将 Canvas 与 DiscordJS 一起使用。
我试图按照这个简单的教程进行操作,但我似乎无法找到任何可能出错的线索。
作为参考,这是我在教程中得到的要点。
当此功能触发时,它应该导致机器人向服务器发送“欢迎来到服务器,[此处的成员名称]”作为消息以及指定的附件。
但是,它并没有这样做,而是将消息发送到服务器,根本没有附件。
测试时我也没有错误。
谁能给我一些关于这里可能出了什么问题的指示?
编辑:经过进一步试验,我找到了解决方案。
discord.js - DiscordJS 反转图像命令不显示任何内容
我有反转图像的代码。由于没有关于它的教程,我尝试按照教程来整理命令。
我记录了图像,它显示正常。当我运行命令时,也没有错误,但图像不显示。
canvas - 无法使用 node-canvas 加载带有 base64 图像的 svg
使用函数 loadImage 加载 svg(内部带有 base64 图像)文件时出现问题,出现异常:
这是我的代码和测试 svg 文件:
svg 文件:
https ://github.com/Automattic/node-canvas/files/4774170/input.svg.zip
当我运行命令时:
node server.js
我收到错误:
我的环境:
- 操作系统:MacOS Catalina 10.15.5
- 节点:v10.16.0
- NPM:6.9.2
- 画布:canvas@2.6.1
请帮我解决这个问题。
是否有任何从源代码构建节点画布的文档指南,以便我可以使用节点画布构建和调试(一些指南已过时并且有很多编译错误)。
谢谢!
node.js - 如何在 NodeJS 中用图像替换颜色
正如我在标题中提到的,如何在 NodeJS 中用图像替换颜色?像绿屏一样
javascript - FabricJS 自定义字体在节点画布上呈现不正确
在 AWS Lambda 中让自定义字体与 FabricJS / node-canvas 一起使用时,我遇到了障碍。字体正在加载,但是当它们被渲染到画布上时,它们被完全破坏并出现在一行而不是多行上。字母间距(字距调整)也搞砸了,问题可能是因为这个......?
在浏览器中:
服务器端(AWS Lambda + node-canvas + FabricJS)
有没有人对这里发生的事情有最模糊的想法?我已经尝试更改 charSpacing 并且不起作用:(我知道可以在节点画布中呈现浏览器中可以看到的内容的精确副本,因为另一个服务正在使用 FabricJS 做同样的事情......
我将永远感激这方面的任何帮助!并提前感谢!!!
凯尔
基于另一个 SO 问题(字符宽度计算错误,某些字体可以自动缩进)我试过fabric.util.clearFabricFontCache();
了,但这没有效果。
节点画布版本:2.6.1
FabricJS 版本:3.6.3
通过消除过程 - 我相信文本框字体/字体系列详细信息正在被缓存。我已经从加载中删除了自定义字体,我仍然在渲染自定义字体......我在 loadFromJSON 之后使用了 clearFabricFontCache() 并且它仍然显示自定义字体!