@fdm-monster/server
Version:
FDM Monster is a bulk OctoPrint, Klipper, PrusaLink and BambuLab manager to set up, configure and monitor 3D printers. Our aim is to provide neat overview over your farm.
32 lines (31 loc) • 1.13 kB
JavaScript
import { BgCodeThumbnailFormatExtension, BgCodeThumbnailFormats } from "./bgcode.types.js";
import { decodeQOI } from "./qoi-decoder.js";
import { encodePNG } from "./png-encoder.js";
//#region src/utils/bgcode/bgcode-thumbnail.parser.ts
function convertQoiToPng(qoiBuffer) {
const decoded = decodeQOI(qoiBuffer);
return encodePNG(decoded.width, decoded.height, decoded.data);
}
function processThumbnail(data, parameters) {
switch (parameters.format) {
case BgCodeThumbnailFormats.PNG: return {
extension: BgCodeThumbnailFormatExtension[BgCodeThumbnailFormats.PNG],
data
};
case BgCodeThumbnailFormats.JPG: return {
extension: BgCodeThumbnailFormatExtension[BgCodeThumbnailFormats.JPG],
data
};
case BgCodeThumbnailFormats.QOI:
const pngData = convertQoiToPng(data);
return {
extension: BgCodeThumbnailFormatExtension[BgCodeThumbnailFormats.PNG],
data: pngData,
converted: true
};
default: throw new Error(`Unsupported thumbnail format: ${parameters.format}`);
}
}
//#endregion
export { convertQoiToPng, processThumbnail };
//# sourceMappingURL=bgcode-thumbnail.parser.js.map