@thi.ng/webgl
Version:
WebGL & GLSL abstraction layer
23 lines (22 loc) • 585 B
JavaScript
import { canvasPixels } from "@thi.ng/pixel/canvas";
import { ARGB8888 } from "@thi.ng/pixel/format/argb8888";
const stripes = (opts) => {
opts = {
size: 16,
col1: 4294967295,
col2: 4278190080,
...opts
};
const size = opts.size;
const col1 = ARGB8888.toABGR(opts.col1);
const col2 = ARGB8888.toABGR(opts.col2);
const { canvas, ctx, img, data } = opts.horizontal ? canvasPixels(1, size) : canvasPixels(size, 1);
for (let x = size; x-- > 0; ) {
data[x] = x & 1 ? col1 : col2;
}
ctx.putImageData(img, 0, 0);
return canvas;
};
export {
stripes
};