mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
feat(ext/web): add ImageData Web API (#21183)
Fixes #19288 Adds the `ImageData` Web API. This would be beneficial to projects using `ImageData` as a convenient transport layer for pixel data. This is common in Web Assembly projects that manipulate images. Having this global available in Deno would improve compatibility of existing JS libraries. **References** - [MDN ImageData Web API](https://developer.mozilla.org/en-US/docs/Web/API/ImageData) - [whatwg HTML Standard Canvas Spec](https://html.spec.whatwg.org/multipage/canvas.html#pixel-manipulation)
This commit is contained in:
parent
dadd8b3d66
commit
8c0fb9003d
11 changed files with 321 additions and 9 deletions
28
ext/web/lib.deno_web.d.ts
vendored
28
ext/web/lib.deno_web.d.ts
vendored
|
@ -1237,3 +1237,31 @@ declare var DecompressionStream: {
|
|||
declare function reportError(
|
||||
error: any,
|
||||
): void;
|
||||
|
||||
/** @category Web APIs */
|
||||
type PredefinedColorSpace = "srgb" | "display-p3";
|
||||
|
||||
/** @category Web APIs */
|
||||
interface ImageDataSettings {
|
||||
readonly colorSpace?: PredefinedColorSpace;
|
||||
}
|
||||
|
||||
/** @category Web APIs */
|
||||
interface ImageData {
|
||||
readonly colorSpace: PredefinedColorSpace;
|
||||
readonly data: Uint8ClampedArray;
|
||||
readonly height: number;
|
||||
readonly width: number;
|
||||
}
|
||||
|
||||
/** @category Web APIs */
|
||||
declare var ImageData: {
|
||||
prototype: ImageData;
|
||||
new (sw: number, sh: number, settings?: ImageDataSettings): ImageData;
|
||||
new (
|
||||
data: Uint8ClampedArray,
|
||||
sw: number,
|
||||
sh?: number,
|
||||
settings?: ImageDataSettings,
|
||||
): ImageData;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue