export-art 关注一个核心问题:显示分辨率不等于导出分辨率。它建议只在导出时进行大尺寸渲染,保持尺寸参数相对化以免缩放破坏构图,并始终保留随机种子以保证输出可复现。
主要能力与用法: 高分辨率静帧(p5.js):渲染到放大倍数的离屏图形缓冲区再保存,示例函数 exportHiRes(scale = 4) 会创建 createGraphics(width * scale, height * scale),设置 pixelDensity(1),用 randomSeed 与 noiseSeed 复现同一件作品,调用 drawInto(g, scale) 后保存为 PNG。线宽与半径应相对画布尺寸设定,例如 width * 0.002,以便干净缩放。印刷尺寸换算:像素 = 英寸 × 300;A3(11.7×16.5 英寸)@300dpi 约为 3508×4961 像素。矢量类作品(打包、平铺、线条)可用 p5.svg 的 createCanvas(w, h, SVG) 获得无限分辨率打印。
视频与 GIF 循环:完美循环需让所有运动由归一化时间 t = frame / TOTAL 驱动,使末帧与首帧衔接。可引入 CCapture.js 把帧导出为 WebM 或 PNG 序列,代码中包含 TOTAL、capturer、startRec、draw 等示例。也可用 ffmpeg 将 PNG 序列转为 MP4 或高质量 GIF,命令包括 -framerate 60 -i frame_%04d.png -c:v libx264 -pix_fmt yuv420p -movflags +faststart,以及用 palettegen 和 paletteuse 生成清晰配色的 GIF。ffmpeg 需单独安装;现代浏览器可用 WebCodecs VideoEncoder 直接在页面内编码 MP4/WebM。
始终遵循:在文件名中记录种子,以便任何输出都能重新生成;艺术路径中绝不可使用无种子的 Math.random();不同平台采用方形 1:1(IG)、9:16(快拍/短片)、16:9(X/YouTube)等比例。作品交付可对接可复现的铸造系列(fxhash / Art Blocks,特征与哈希),并参考 /generative-series 与 art-export-engineer。