在node.js中使用graphicsmagick提取gif框架

时间:2016-02-19 08:29:38

标签: javascript node.js image graphicsmagick

我正在尝试使用node.js上的graphicsmagick将gif转换为png。在他们的文档中,他们有以下代码:

// pull out the first frame of an animated gif and save as png
gm('/path/to/animated.gif[0]')
    .write('/path/to/firstframe.png', function(err){
    if (err) print('aaw, shucks')
})

但是如果我不是从文件中读取数据,而是从流或缓冲区中读取数据呢?在那里我不必给出路径,因此不能附加[0]。

我需要的是这样的事情:

gm(streamOrBuffer).extractFrame(0)
    .write('/path/to/firstframe.png', function(err){
    if (err) print('aaw, shucks')
})

有一个类似的问题here,但海报最终在画布上绘制了gif以提取客户端的第一帧。

我找不到任何看起来可以做我想要的gm命令。有任何想法吗?

1 个答案:

答案 0 :(得分:7)

根据source,您可以使用.selectFrame(0)

gm(streamOrBuffer)
    .selectFrame(0)
    .write('/path/to/firstframe.png', function(err) {
        if (err) console.log(err);
    });