mirror of
https://github.com/bspeice/speice.io
synced 2024-12-23 00:58:09 -05:00
46 lines
1.8 KiB
TypeScript
46 lines
1.8 KiB
TypeScript
import * as fs from "fs/promises";
|
|
import { createCanvas } from "canvas";
|
|
import { DEFAULT_SIZE, RenderParams } from "./0-utility.js";
|
|
import { paramsGasket } from "./1-gasket.js";
|
|
import { paramsBaseline } from "./2a-baseline.js";
|
|
import { paramsPost } from "./2b-post.js";
|
|
import { paramsFinal } from "./2c-final.js";
|
|
import { paramsBinary } from "./3a-binary.js";
|
|
import { paramsLinear } from "./3b-linear.js";
|
|
import { paramsLogarithmic } from "./3c-logarithmic.js";
|
|
import { paramsColor } from "./4-color.js";
|
|
import { paramsGasketFlame } from "./5a-gasket.js";
|
|
import { paramsSolo1, paramsSolo2, paramsSolo3 } from "./5b-solo.js";
|
|
|
|
export type OfflineParams = RenderParams & { filename: string };
|
|
|
|
const paramsAll: OfflineParams[] = [
|
|
{ filename: "images/1-gasket.png", ...paramsGasket },
|
|
{ filename: "images/2a-baseline.png", ...paramsBaseline },
|
|
{ filename: "images/2b-post.png", ...paramsPost },
|
|
{ filename: "images/2c-final.png", ...paramsFinal },
|
|
{ filename: "images/3a-binary.png", ...paramsBinary },
|
|
{ filename: "images/3b-linear.png", ...paramsLinear },
|
|
{ filename: "images/3c-logarithmic.png", ...paramsLogarithmic },
|
|
{ filename: "images/4-color.png", ...paramsColor },
|
|
{ filename: "images/5a-gasket.png", ...paramsGasketFlame },
|
|
{ filename: "images/5b-solo1.png", ...paramsSolo1 },
|
|
{ filename: "images/5b-solo2.png", ...paramsSolo2 },
|
|
{ filename: "images/5b-solo3.png", ...paramsSolo3 },
|
|
];
|
|
|
|
for (const param of paramsAll) {
|
|
const render = param.renderer(DEFAULT_SIZE);
|
|
render.run(param.quality);
|
|
|
|
const canvas = createCanvas(DEFAULT_SIZE, DEFAULT_SIZE);
|
|
const ctx = canvas.getContext("2d");
|
|
const data = ctx.createImageData(DEFAULT_SIZE, DEFAULT_SIZE);
|
|
|
|
render.render(data as any);
|
|
ctx.putImageData(data, 0, 0);
|
|
|
|
const buffer = canvas.toBuffer();
|
|
await fs.writeFile(param.filename, buffer);
|
|
}
|