(media: HTMLImageElement | HTMLVideoElement | ImageData, dims?: IDimensions)
| 14 | } |
| 15 | |
| 16 | export function createCanvasFromMedia(media: HTMLImageElement | HTMLVideoElement | ImageData, dims?: IDimensions): HTMLCanvasElement { |
| 17 | |
| 18 | const { ImageData } = env.getEnv() |
| 19 | |
| 20 | if (!(media instanceof ImageData) && !isMediaLoaded(media)) { |
| 21 | throw new Error('createCanvasFromMedia - media has not finished loading yet') |
| 22 | } |
| 23 | |
| 24 | const { width, height } = dims || getMediaDimensions(media) |
| 25 | const canvas = createCanvas({ width, height }) |
| 26 | |
| 27 | if (media instanceof ImageData) { |
| 28 | getContext2dOrThrow(canvas).putImageData(media, 0, 0) |
| 29 | } else { |
| 30 | getContext2dOrThrow(canvas).drawImage(media, 0, 0, width, height) |
| 31 | } |
| 32 | return canvas |
| 33 | } |
no test coverage detected
searching dependent graphs…