32 lines
1.3 KiB
JavaScript
32 lines
1.3 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.createCanvasFromMedia = exports.createCanvas = void 0;
|
|
const env_1 = require("../env");
|
|
const getContext2dOrThrow_1 = require("./getContext2dOrThrow");
|
|
const getMediaDimensions_1 = require("./getMediaDimensions");
|
|
const isMediaLoaded_1 = require("./isMediaLoaded");
|
|
function createCanvas({ width, height }) {
|
|
const { createCanvasElement } = env_1.env.getEnv();
|
|
const canvas = createCanvasElement();
|
|
canvas.width = width;
|
|
canvas.height = height;
|
|
return canvas;
|
|
}
|
|
exports.createCanvas = createCanvas;
|
|
function createCanvasFromMedia(media, dims) {
|
|
const { ImageData } = env_1.env.getEnv();
|
|
if (!(media instanceof ImageData) && !isMediaLoaded_1.isMediaLoaded(media)) {
|
|
throw new Error('createCanvasFromMedia - media has not finished loading yet');
|
|
}
|
|
const { width, height } = dims || getMediaDimensions_1.getMediaDimensions(media);
|
|
const canvas = createCanvas({ width, height });
|
|
if (media instanceof ImageData) {
|
|
getContext2dOrThrow_1.getContext2dOrThrow(canvas).putImageData(media, 0, 0);
|
|
}
|
|
else {
|
|
getContext2dOrThrow_1.getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height);
|
|
}
|
|
return canvas;
|
|
}
|
|
exports.createCanvasFromMedia = createCanvasFromMedia;
|
|
//# sourceMappingURL=createCanvas.js.map
|