face-api/build/dom/createCanvas.js

27 lines
1.0 KiB
JavaScript

import { env } from '../env';
import { getContext2dOrThrow } from './getContext2dOrThrow';
import { getMediaDimensions } from './getMediaDimensions';
import { isMediaLoaded } from './isMediaLoaded';
export function createCanvas({ width, height }) {
const { createCanvasElement } = env.getEnv();
const canvas = createCanvasElement();
canvas.width = width;
canvas.height = height;
return canvas;
}
export function createCanvasFromMedia(media, dims) {
const { ImageData } = env.getEnv();
if (!(media instanceof ImageData) && !isMediaLoaded(media)) {
throw new Error('createCanvasFromMedia - media has not finished loading yet');
}
const { width, height } = dims || getMediaDimensions(media);
const canvas = createCanvas({ width, height });
if (media instanceof ImageData) {
getContext2dOrThrow(canvas).putImageData(media, 0, 0);
}
else {
getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height);
}
return canvas;
}
//# sourceMappingURL=createCanvas.js.map