使用graphicmagic for node将EPS转换为PNG不会保持透明度

时间:2015-06-19 08:37:32

标签: node.js graphicsmagick

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

它的行为必须与以下命令相同(保持EPS的透明度)

convert -colorspace srgb in.eps out.png

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

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

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

我还尝试强制输入TrueColorAlpha类型并设置位深度但无效。

希望有人能告诉我我做错了什么或者我错过了哪些信息。

1 个答案:

答案 0 :(得分:2)

对于任何绊倒这个问题的人来说,这解决了我。

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图像。