问题标签 [gm]
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.
javascript - 使用 GraphicsMagick 操作 GridFS 文件并将其存储为新文件
我正在尝试通过gridfs-stream
(https://github.com/aheckmann/gridfs-stream)读取 GridFS 文件,将其旋转 90°gm
并将其存储为新的 GridFS 文件。
我的结果看起来很“不时尚”......所以我正在寻求帮助来优化这个小代码片段......
这段代码的第二件事:我需要一种“开关”。此代码对图像进行旋转操作。但我需要传递一个参数来进行旋转、调整大小或其他操作。我该如何整合它?
node.js - Amazon Lambda 函数合并多个 s3 图像并放入目标存储桶
我正在研究一个 lambda 函数,它将通过 amazon rest api 触发。
我创建了以下
- REST API 控制台上的
POST
端点 - 链接到 REST API 的 lambda 函数
现在作为第一次尝试,我创建了函数,以便它将接受参数作为
lambda 函数将使用request
模块获取图像,然后上传到存储桶。
由于我使用了多个模块,因此我在本地创建了所有内容并将它们压缩,包括并通过指定名称node_modules
将它们上传到 lambda 函数控制台。Handler
到目前为止它很好,而且效果很好。
现在为了扩展它,我试图发送 2 张个人资料图片 - 一张来自用户 - 另一张是他/她的朋友之一 - 将两张图片合并为一张,然后将合并后的图片上传到目标文件。
我尝试了不同的合并方法,但没有任何效果。在这里找到了一些解决方案,似乎他们真的不喜欢流
这是我到目前为止所做的,正如我提到的那样,这两个图像都被上传到一个存储桶中,但是合并似乎失败了,我没有办法完成这个,如果你能给我一些关于如何做。
目前它使用异步模块来完成单个任务
- 首先将两个图像并行上传到s3
- 然后使用 s3.getObject 并行下载它们
- 最后在完成第二个任务时尝试合并并推回 s3
基本上会有一个模板图像,并且在模板图像上将放置(合并)多个图像,在下面的代码中,我将userProfileImagePath
其视为主模板并尝试将另一个图像合并到其中。
如果有其他方法可以做到这一点,请告诉我。
这是我到目前为止所做的
更新
在进行一些更改后,我尝试让代码在本地运行,并使用文件系统进行操作,它似乎正在工作,不知道如何使用 s3 使其在 Lamba 上同样工作 这是使用文件在本地运行的代码系统
node.js - 错误:Stream 在 nodejs 上使用 gm 产生空缓冲区(Windows)
当我尝试在 Windows 上使用 gm 和 nodejs 执行这个简单的代码示例时:
我得到错误:
[Error: Stream yields empty buffer]
为什么会发生此错误,我该如何解决?
node.js - 如何使用 gm 为节点(graphicsmagick/imagemagick)添加居中文本?
这与节点的“gm”扩展有关,http://aheckmann.github.io/gm/docs.html
我需要添加一些以边界框为中心的文本(水平就足够了)。函数 drawText() 需要 x,y 坐标,但无法绘制居中文本。
否则我需要一个函数,它可以返回给定字体/大小的文本字符串的宽度,所以我可以在调用 drawText() 之前计算我在 javascript 中的起始 x 位置。
node.js - 此图像格式没有解码委托 `'
使用 gm 包时出现奇怪的错误。我使用 Windows x86。我已经安装了 gm,也安装了 imagemagick。
这是我的代码:
这是我得到的错误:
您可以看到 imagemagick 支持 jpeg,因为我不明白我的问题是什么。
node.js - GraphicsMagick 无法处理 Unicode 文件名
我发现 GraphicsMagick 无法处理我用中文命名的文件。我在 ImageMagick 上做了同样的测试,但 IM 按预期工作。
我认为这可能是一个错误,所以我在这里提交了一个错误报告:https ://sourceforge.net/p/graphicsmagick/bugs/384/
无论如何,这是重现我的情况的方法:
- 平台:Win10
- 版本:GraphicsMagick 1.3.20
- 代码:
gm -identify 獅藝學會.jpg
这是命令提示符返回的文本:
使用 IM 有效:
虽然返回的文本是乱码的,但是将文件转换为.png
除了不同的扩展名之外仍然保持相同的文件名。
发生了什么
我通过使用gm node.js 库批处理我的图像发现了这个问题,调用的源是从UTF-8网页进行的,所以我假设文件名作为 Unicode encoding 传递。
我没有找到与此问题相关的文档,虽然文档说明有一个-encoding
选项,但它无法在 Windows 上作为参数发送,因为它无法识别它,我在 Google 上找不到相关解决方案。
请帮忙,有什么简单的方法可以解决这个问题,同时保持准确的文件名?
node.js - 如何在 gm 中为节点换行?
今天发现GM需要在我的图片中加入文字。如果文本的宽度比我的图像宽度长,有没有办法确保我的文本换行?
node.js - aws lambda中的gm错误:字符串产生空缓冲区
在使用 amazon lambda 进行自动定向转换后,我正在尝试将缓冲区上传到 s3。我正在从 Nodejs api 发送缓冲区,如下所示:
当我在 api 中控制台日志 data.file._data 时,我得到如下信息:
在 lambda(也是 nodejs)中,我有以下代码:
所以。当我尝试上传图像时,这是 file._data 像 gm 命令之前一样打印的内容:
但在 gm 命令中,这将打印为错误:
错误:流产生空缓冲区