UNPKG

@thi.ng/pixel-convolve

Version:

Extensible bitmap image convolution, kernel presets, normal map & image pyramid generation

15 lines (14 loc) 437 B
import { assert } from "@thi.ng/errors/assert"; import { convolveImage, LANCZOS } from "./convolve.js"; function* imagePyramid(src, kernel = LANCZOS(2), minSize = 1, includeOrig = true) { assert(minSize > 0, `invalid min size`); minSize <<= 1; if (includeOrig) yield src; while (src.width >= minSize && src.height >= minSize) { src = convolveImage(src, { kernel, stride: 2 }); yield src; } } export { imagePyramid };