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

Zek*_*yol 6 javascript gif animated-gif p5.js

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

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

它不必导出为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);
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*man 6

我一直在开发一个支持 GIF 导出的新库p5.createLoop

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


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

Run Code Online (Sandbox Code Playgroud)

这是带有完整示例的codePen。大约需要两分钟,超过 50MB,完全值得


Zek*_*yol 5

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

不要忘记 CCapture 导出 (gif size=canvas sizex2)。