[whatwg] Proposal: ImageData constructor or factory method with preexisting data

Rik Cabanier cabanier at gmail.com
Mon Mar 11 17:00:16 PDT 2013


Do you expect that createImageData creates an internal copy of the
Uint8ClampedArray object
or is it live?

On Mon, Mar 11, 2013 at 4:28 PM, Kenneth Russell <kbr at google.com> wrote:

> It would be useful to be able to create an ImageData [1] object with
> preexisting data. The main use case is to display arbitrary data in
> the 2D canvas context with no data copies.
>
> Proposed IDL:
>
> [NoInterfaceObject]
> interface ImageDataFactories {
>   ImageData createImageData(Uint8ClampedArray data, double sw, double sh);
> };
> Window implements ImageDataFactories;
> WorkerGlobalScope implements ImageDataFactories;
>
> createImageData would throw an exception if the length of the
> Uint8ClampedArray was not equal to 4 * floor(sw) * floor(sh), or at
> least, if the length of the array was less than this value. (Similar
> wording would be used to that of CanvasRenderingContext2D's
> createImageData.)
>
> I don't think it is necessary to provide a createImageDataHD in this
> interface. The caller will know the devicePixelRatio and determine
> whether to generate high-DPI data.
>
> [1]
> http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#imagedata
>
> Comments?
>
> Thanks,
>
> -Ken
>



More information about the whatwg mailing list