in src/utils/image.ts [131:157]
export async function extractImagesFromComposite(
composite: Buffer,
compositeWidth: number,
compositeHeight: number,
numberOfImages: number,
imageWidth: number = DEFAULT_IMAGE_SIZE,
imageHeight: number = DEFAULT_IMAGE_SIZE
): Promise<Buffer[]> {
const images = [];
var i = 0;
for (let y = 0; y <= compositeHeight - imageHeight; y += imageHeight) {
for (let x = 0; x <= compositeWidth - imageWidth; x += imageWidth) {
const image = await sharp(composite)
.extract({ left: x, top: y, width: imageWidth, height: imageHeight })
.png()
.toBuffer();
images.push(image);
i += 1;
if (i == numberOfImages) {
return images;
}
}
}
return images;
}