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

sounds good!
I think this is a convenient and useful addition.

do you want to keep doubles to define the dimensions instead of integers?
If so, the size should probably  4 * ceil(sw) * ceil(sh)

On Tue, Mar 12, 2013 at 10:50 AM, Kenneth Russell <kbr@google.com> wrote:

> It should simply reference the Uint8ClampedArray, not copy it or do
> anything else esoteric. The only way to display an ImageData in the 2D
> canvas context is via the putImageData API. I am not proposing
> changing those semantics.
>
> -Ken
>
>
>
> On Mon, Mar 11, 2013 at 5:00 PM, Rik Cabanier <cabanier@gmail.com> wrote:
> > 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@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
> >
> >
>

Received on Tuesday, 12 March 2013 18:16:07 UTC