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

2024-04-12

I use 原子编辑器。我要实现20 秒 GIF用我的画布。saveFrames()有一个限制(我猜)。即使我输入,它也可以将 .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);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.1/p5.min.js"></script>

我一直在开发一个支持 GIF 导出的新库,p5.createLoop https://www.npmjs.com/package/p5.createloop.

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


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

这是一个codePen https://codepen.io/peteyhayman/pen/EJQEYK与完整的例子。大约需要两分钟,超过 50MB,完全值得

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 p5js 中将画布导出为 GIF/PNG 的相关文章

随机推荐

  • 单步执行断点时出现编译错误

    每当我遇到断点并尝试跨过它或进入它时 我就开始遇到奇怪的错误 我收到消息 进行了无法编译的编辑 在修复编译错误之前 无法继续执行 这些项目编译得很好 当我没有遇到任何断点时 这种情况就不会发生 我使用的是 Visual Studio 201
  • 使用Haxe宏进行条件编译,而不是#if #end

    假设我们有一个 Local 类 class Local static inline public var logLevel Int 3 以及一些功能 Tool debug s String compiled if logLevel gt 0
  • Bonjour 通过蓝牙无需 Gamekit ?

    我想知道在 iPhone OS 3 0 或更高版本中直接通过蓝牙使用 bonjour 而不使用 GameKit 的可能性 谁能提供任何例子吗 只需宣布服务 就像tc 下面已经说了 https stackoverflow com q 3845
  • Xamarin Forms Entry 调用 Completed 事件

    我目前正在 Xamarin Forms 中开发登录和注册页面 将键盘的完成按钮更改为下一个并继续最后一个按钮后 我不再在 Android 上收到 Completed 事件 在 iOS 上工作正常 在自定义渲染器中 我可以捕获 Control
  • 在 mac os x Sierra 上使用 opencv c++ 编译 hello world

    第一次我无法编译 hello world 我已经遵循了大量如何安装 opencv 的教程 我只有以下示例 include
  • 为以 exec 启动的进程设置自定义工作目录

    我正在打电话execv在我的 C 代码中启动可执行文件 但我想将其工作目录设置为自定义目录 例如 在一种情况下 我正在启动ls 但它列出了我原始程序目录中的文件 但我想将工作目录设置为自定义目录 我将如何实现它 这样 我将其设置为 usr
  • 无法将 Watson IoT Platform 连接到 Cloudant

    一段时间以来 我一直在尝试将 Watson IoT Platform 作为 Historian 服务连接到 Cloudant 数据库 我遵循了各种可用教程中的说明 但一项服务从未显示为与另一项服务的可能连接或扩展 这是我尝试过的一个教程ht
  • ios 8 解析推送中没有声音[重复]

    这个问题在这里已经有答案了 这很奇怪 更新我的应用程序以支持通过 Parse 使用 Parse 仪表板 发送的 iOS 8 推送通知后 推送通知不会发出任何声音 我在 Stackoverflow 上发现了这个重复项 但发布的答案对我不起作用
  • 解析 JSON 到 MySQL 表

    我正在使用 Zend Framework 1 12 我想创建一个基于 JSON 文件的表 我已经创建了表及其字段 现在它们都是长文本 它所要做的就是将它们插入到正确的列中 我遵循了这些例子 http www daniweb com web
  • 代表和活动之间有什么区别?

    代表和活动之间有什么区别 两者不都包含对可以执行的函数的引用吗 An Event声明增加了一层抽象和保护delegate实例 此保护可防止委托的客户端重置委托及其调用列表 并且仅允许在调用列表中添加或删除目标
  • WCF 中未返回 DateTime.Kind

    当处理DateTime具有 WCF 的对象 返回DateTime对象丢失了Kind财产 永远是DateTimeKind Unspecified即使我在退货之前手动更改它 我在 WCF 端这样做了 dateFrom DateTime Spec
  • 根据用户 ID 限制下拉选项

    我问这个问题是因为我不确定解决问题的最佳方法 问题 我有一个预先填充的下拉列表 其中包含 1 000 个左右的数字 我需要根据使用下拉列表的用户来限制下拉列表中显示的数字 我想到的解决方案 使用 jQuery 隐藏所有数字 使用 jQuer
  • Firebase:如何检查电子邮件是否在运行时经过验证

    所以流程将是这样的 用户通过 firebase 使用电子邮件和密码登录 如果电子邮件经过验证 他们将转到主要活动 否则他们将进入验证电子邮件活动 我想做的是 当他们处于验证电子邮件活动时 我将在 onCreate 方法中发送验证电子邮件 然
  • 有没有办法用#define 代替长命名空间?

    假设我有一个很长的命名空间 我不想一直输入它 但我不想使用using namespace 任何一个 我可以为此使用 define 吗 Example define glm quat glm gtc quaternion class Came
  • Javascript 网络摄像头捕获并使用 PHP 上传到服务器

    我有一个页面 使用 javascript 和 PHP 上传文件成功上传图像表单画布 第二页已成功将网络摄像头捕获到画布并正确显示 我正在尝试使用摄像头捕获实时CSS对象来调整图像上传脚本 但什么也不做 html是 折断 div div cl
  • Laravel Passport tokensExpireIn 似乎不起作用

    我正在使用 Laravel 5 4 Passport 来创建 SPA 应用程序 但是 我能够使身份验证工作 但访问令牌始终是短期令牌 过期时间为 600 秒 我无法通过以下方式增加过期时间 Passport tokensExpireIn C
  • 如何在 pandas groupby 直方图中显示标签名称

    我可以使用 pandas 在单个图中绘制多个直方图 但缺少一些东西 如何给出标签 我只能绘制一个图形 如何将其更改为layout 3 1 或其他内容 另外 在图1中 所有的垃圾箱都填充了纯色 很难知道哪个是哪个 那么如何用不同的标记 例如十
  • 有没有有效的方法来禁用 HTML 表单中的自动完成功能?

    当使用xhtml1 transitional dtddoctype 使用以下 HTML 收集信用卡号
  • Play2 如何从服务层而不是动作层管理事务?

    我正在使用 Play2 1 1 Java 和 JPA2 0 以及 hibernate 实现 通过代码控制事务而不是像下面那样使用 transactional 是正常的 JPA 代码风格 有没有办法在 Play 上像下面这样工作 或者如何使用
  • 在 p5js 中将画布导出为 GIF/PNG

    I use 原子编辑器 我要实现20 秒 GIF用我的画布 saveFrames 有一个限制 我猜 即使我输入 它也可以将 png 文件保存为短 gif 3 5 秒 saveFrames aa png 15 22 我发现了 CCapture