在p5js中将画布导出为GIF / PNG

问题描述 投票:5回答:2

我使用Atom编辑器。我想用我的画布制作20秒GIF。 saveFrames()有一个限制(我猜)。它可以将.png文件保存为短gif(3-5秒),即使我键入saveFrames("aa","png",15,22);

我发现了CCapture.js,但我找不到任何导出canvas的代码示例。

它不必作为GIF导出;但我想至少在画布上无限制地保存我的动画片段.png。我该怎么做?

我在p5.js中的动画代码:

var x = 0;
var speed = 10;
var d1 = 100;
var d2 = 100;

function setup() {
    createCanvas(600, 400);
    background(0);
    //saveFrames("aa","png",15,22);
}
function draw() {
    stroke(random(100,255), 0, random(100,190));
    strokeWeight(1.5);
    ellipse(x, 100, d1, d1);
    x = x + speed;
    d1 = d1-0.6;
    if(x > width || x <0) {
     speed = speed*-1;
     fill(speed*51);
 }
    ellipse(x, 300, d1, d1);
    ellipse(x, 200, 50, 50);
}
javascript gif animated-gif p5.js
2个回答
2
投票

我一直在研究一个支持GIF出口的新库p5.createLoop

这将运行草图,然后以相同的帧速率渲染GIF。


function setup() {
  createCanvas(600, 400);
  background(0);
  frameRate(22)
  createLoop({duration:15,gif:true})
}

这是一个完整的例子codePen。它需要大约两分钟,超过50MB,完全值得


1
投票

经过一整天的研究,令人惊讶的是,我发现了一个视频在2周前上传了youtube:CCapture Video

不要忘记Capture导出(gif size = canvas size 2)。

© www.soinside.com 2019 - 2024. All rights reserved.