将CSS动画保存到Node.js中的jpeg / png

时间:2018-11-10 18:47:05

标签: css node.js animation

我知道我可以在相位器或其他框架中编写自己的动画,并将其jpg保存到文件中,或使用jimp。

https://www.npmjs.com/package/jimp

但是,我想知道是否可以使用css动画,然后将前端看到的内容保存到节点后端的文件中。

是否可以使用CSS引擎来实现这一目标?

这些呢?我认为他们都在客户端制作动画。 https://blog.bitsrc.io/11-javascript-animation-libraries-for-2018-9d7ac93a2c59

我不想为每个CSS效果编写任何代码(我为Java应用程序写了很多,但仍然不令人满意)

1 个答案:

答案 0 :(得分:1)

为了将渲染的动画保存到文件中,您需要以很高的帧频记录该网页,然后将所有捕获的帧转换为GIF等动画格式(据我所知,jpeg和png不支持动画知道)。

要捕获网页,您可以尝试phantomjs
这是一篇解释此问题的文章:Recording a Website with phantomjs and ffmpeg

var page = require("webpage").create();
page.viewportSize = { width: 640, height: 480 };

page.open("http://www.goodboydigital.com/pixijs/examples/12-2/", function() {
  setInterval(function() {
    page.render("/dev/stdout", { format: "png" });
  }, 25);
});

phantomjs runner.js | ffmpeg -y -c:v png -f image2pipe -r 25 -t 10  -i - -c:v libx264 -pix_fmt yuv420p -movflags +faststart dragon.mp4

在此示例中,输出为mp4,但是您可以调整命令行参数以获得gif