我使用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);
}
我一直在研究一个支持GIF出口的新库p5.createLoop。
这将运行草图,然后以相同的帧速率渲染GIF。
function setup() {
createCanvas(600, 400);
background(0);
frameRate(22)
createLoop({duration:15,gif:true})
}
这是一个完整的例子codePen。它需要大约两分钟,超过50MB,完全值得
经过一整天的研究,令人惊讶的是,我发现了一个视频在2周前上传了youtube:CCapture Video
不要忘记Capture导出(gif size = canvas size 2)。