问题标签 [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.

0 投票
0 回答
28 浏览

node.js - 评论图像 util 模块 gm

我正在尝试使用该gm模块对图像进行评论,但它只会创建我在没有评论的情况下使用的相同图像。

上下文中的代码

0 投票
1 回答
223 浏览

javascript - 使用节点 gm 将图像文件保存在 mongodb 中(图形魔术)

我对节点和 mongodb 概念完全陌生。我正在尝试保存图像,文件(元数据)已成功保存,但其块未保存。

我还阅读了 gm 文档,但没有帮助很多,而且我没有遇到任何错误。https://github.com/aheckmann/gm

这是我的代码

这是我传递的文件对象

非常感谢帮助:)

0 投票
0 回答
455 浏览

opacity - GraphicsMagick 颜色和蒙版不透明度不起作用

嗨,如果有人可以提供帮助,那就太好了。我正在尝试一起创建 25 张图像的马赛克,并在顶部应用一些效果。所以我从创建一个圆角的 mask.png 开始。然后为每个图块使用一个 for 循环,我想在不透明度的顶部应用这个蒙版和颜色:这是我的代码:

有人可以帮助我理解为什么不起作用,也许我做错了什么?

0 投票
3 回答
5001 浏览

node.js - 在 Nodejs 中使用 gm 调整和组合两个或多个图像的大小

给定两个图像,例如在 img(大小为 1024x768)文件夹(img1.png 和 img2.png)下,我需要调整 img2(例如 300x300)的大小并从左上角将 img1 放在 x 和 y(例如 100、200)中的img1。最终结果应该是 1024x768 大小的图像。

使用 gm ( https://github.com/aheckmann/gm ),尝试了这个:

预期(由于整个操作链)它会产生 300x300 图像。然后我尝试了这个:

希望复合函数接受缓冲区,但没有机会,它只接受文件路径,并给出错误。在花了 2-3 小时并阅读了几篇文章之后(只能在这里找到一些讨论:How to do composition with gm node.js?和这里:组合两个 gm 对象,同时在 graphicsMagick for NodeJS 中调整其中一个对象的大小(这个没有实际上回答这个问题),我找不到任何解决方案来使用流或缓冲区在内存中执行此操作。在写入临时文件时可以这样做。有没有人可以在内存中找到解决方案动态调整图像大小和合并图像?

0 投票
0 回答
157 浏览

imagemagick - 如何在imagemagick中实现如下效果

我正在尝试获得草图效果,并且我的 imagemagick 命令行代码如下

我正在使用 gm 模块并尝试扩展 gm,但是它不接受括号,无法识别 -linear-stretch 导致两个模糊图像而不是一个。我尝试了 node-imagemagick 本机和魔法,但无法实现所需的功能。谁能让我知道我怎样才能做到这一点。提前致谢

这是我用 gm 尝试过的代码

这是 args.js

0 投票
1 回答
4581 浏览

javascript - 使用带有承诺和缓冲区的节点 gm

我一直在尝试像这样将 gm 与 Bluebird 一起使用:

但是,当我尝试这样的事情时:

我收到此错误:

gm().toBuffer() 需要回调。

如果我只承诺缓冲方法:

我收到此错误:

TypeError: this.stream 不是函数 6:36:21 AM web.1 | 在 toBuffer (/Users/danielrvt/IdeaProjects/twe-backend/node_modules/gm/lib/command.js:162:17)

如果我不使用承诺,它就可以正常工作。

0 投票
0 回答
1883 浏览

node.js - 将完整的 Imagemagick 上传到 AWS Lambda 并与图形魔术模块一起使用

这是之前的一篇文章,讨论了如何在 AWS Lambda 上出于安全原因限制预加载的 Imagemagick。

“注意:此更新包含一个更新的 /etc/ImageMagick/policy.xml 文件,该文件禁用了 EPHEMERAL、HTTPS、HTTP、URL、FTP、MVG、MSL、TEXT 和 LABEL 编码器”

我需要使用“标签”功能(它可以在我的开发机器上成功运行——下面的示例图片))

在链接帖子的讨论中,frenchie4111 慷慨地提供了使用他创建的节点模块,该模块将 imagemagick 上传到 lambda 应用程序:github 链接https://github.com/DoubleDor/imagemagick-prebuilt

我想了解上传新版本的 Imagemagick 是如何工作的,以及我将如何将该版本与将 IM 和 nodejs 结合在一起的 GM 模块一起使用。

如果我阅读正确,每次我的 lambda 应用程序启动时,完整版的 imagemagick 都会重新加载到下面的地址?

DoubleDor 的自述文件说明提供了以下选项:

我将包含/需要什么来定义“gm”以在下面的部分文件中工作(在我的 nodejs lambda 应用程序中)?

我是否也需要编辑 GM 模块?

只是为了好玩,下图显示了我在我现在想在 AWS Lambda 上工作的开发机器上使用 gm(graphics magic) 和 imagemagick 所做的事情 >> 我真的需要那个“标签”功能我想这意味着学习如何在每次启动时将整个库上传到 AWS Lambda!(?)

在此处输入图像描述

0 投票
2 回答
53 浏览

imagemagick - 获取应用图像处理的信息

我将gm 用于节点。我想知道 ImageMagick CLI 命令的等效 Javascript:

convert /path/to/source.png -format "%@" info:-

这将输出修剪数据,结果如下:

2672x3579+1115+725

我最初假设 gm 等价物是:

但这只是返回源文件大小而不修剪空格。

5000x5000+0+0

0 投票
1 回答
379 浏览

javascript - 类型错误:gm.compare 不是函数

我使用 Node v6.9.2 ,我想比较两个图像并得到结果,但它似乎 gm.compare 不是一个函数!

如果我删除了“subClass({ imageMagick: true });” 会出现错误 Error: spawn gm ENOENT 我应该怎么做才能解决这个问题。谢谢

// 编码

0 投票
1 回答
98 浏览

node.js - 奇怪的 node.js + http + gm + s3 行为

这个 node.js 代码块的目的是下载一张图片,调整它的大小,将调整大小的图片上传到 s3,然后将原始图片上传到 s3。

非工作代码:

问题是这个代码块没有按预期运行。在上面的代码中,s3 上传的缩略图始终是一个空文件。

但是,如果我删除第二个 s3 上传请求,缩略图会神奇地开始正确上传。

工作代码:

为什么我可以在第二个示例中上传缩略图,但不能在第一个示例中上传?