Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Note: This feature is available in Dedicated Web Workers.
The ImageDecoder() constructor creates a new ImageDecoder object which unpacks and decodes image data.
new ImageDecoder(init)initAn object containing the following members:
typeA string containing the MIME type of the image file to be decoded.
dataAn ArrayBuffer, a TypedArray, a DataView, or a ReadableStream of bytes representing an encoded image type as described by type.
premultiplyAlpha OptionalSpecifies whether the decoded image's color channels should be premultiplied by the alpha channel. If not provided set as "default":
"none""premultiply""default"colorSpaceConversion OptionalSpecifies whether the image should be decoded using color space conversion. If not provided set as "default". The value "default" indicates that implementation-specific behavior is used:
"none""default"desiredWidth OptionalAn integer indicating the desired width for the decoded output. Has no effect unless the image codec supports variable resolution decoding.
desiredHeight OptionalAn integer indicating the desired height for the decoded output. Has no effect unless the image codec supports variable resolution decoding.
preferAnimation OptionalA Boolean indicating whether the initial track selection should prefer an animated track.
transferAn array of ArrayBuffers that ImageDecoder will detach and take ownership of. If the array contains the ArrayBuffer backing data, ImageDecoder will use that buffer directly instead of copying from it.
The following example creates a new ImageDecoder with the required options.
let init = {
type: "image/png",
data: imageByteStream,
};
let imageDecoder = new ImageDecoder(init);