node.js - 使用 GraphicsMagic Node 将 EPS 转换为 PNG 不会保持透明度

标签 node.js graphicsmagick

我一直在尝试使用 Graphicsmagic 作为 Node ( http://aheckmann.github.io/gm/ ) 将透明 EPS 文件转换为透明 PNG 文件。

它的行为方式需要与以下命令相同(保留 EPS 的透明度)

convert -colorspace srgb in.eps out.png

上面的命令按预期工作,但是当我使用以下代码在 Node 中尝试它时,它不会保留透明度。

var gm = require('gm').subClass({ imageMagick: true });

gm("in.eps").colorspace("srgb").write("out.png", function (err) {
  if (!err) {
    console.log('done');
  }
});

我也尝试过强制使用 TrueColorAlpha 类型并设置位深度,但无济于事。

希望有人对我做错了什么或我缺少哪些信息提出建议。

最佳答案

对于任何偶然发现这个问题的人来说,这都为我解决了。

var gm = require('gm').subClass({ imageMagick: true });

gm("in.eps").in("-colorspace").in("srgb").write("out.png", function (err) {
  if (!err) {
    console.log('done');
  }
});

您需要添加两个自定义 in 参数以将色彩空间应用于输入 EPS 图像。

关于node.js - 使用 GraphicsMagic Node 将 EPS 转换为 PNG 不会保持透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30933643/

相关文章:

javascript - Electron 应用程序运行时没有任何错误,但窗口未打开或显示在任务管理器中

node.js - Nodejs 中定期检索访问 key 的代码片段

javascript - 如何在NodeJS中的MySQL查询中增加外部变量值

node.js - 使用繁琐的数据库连接

node.js - npm 模块 Imager 安装

javascript - String.matchAll 未定义

pdf - GraphicsMagick 无法识别 PDF 的背景透明度

c - 开始使用 GraphicsMagick

javascript - NodeJS 和 GraphicsMagick : resize() destroys image quality

javascript - 将 2 个图像与 node.js 和 gm 合并