face-api/src/dom/getContext2dOrThrow.ts

13 lines
668 B
TypeScript
Raw Normal View History

2020-12-19 17:46:41 +01:00
import { env } from '../env/index';
2020-08-18 13:54:53 +02:00
import { resolveInput } from './resolveInput';
export function getContext2dOrThrow(canvasArg: string | HTMLCanvasElement | CanvasRenderingContext2D): CanvasRenderingContext2D {
2020-12-23 17:26:55 +01:00
const { Canvas, CanvasRenderingContext2D } = env.getEnv();
2023-06-12 18:02:21 +02:00
if (canvasArg instanceof CanvasRenderingContext2D) return canvasArg;
2020-12-23 17:26:55 +01:00
const canvas = resolveInput(canvasArg);
2023-06-12 18:02:21 +02:00
if (!(canvas instanceof Canvas)) throw new Error('resolveContext2d - expected canvas to be of instance of Canvas');
const ctx = canvas.getContext('2d', { willReadFrequently: true });
if (!ctx) throw new Error('resolveContext2d - canvas 2d context is null');
2020-12-23 17:26:55 +01:00
return ctx;
}