- From: Kenneth Russell <kbr@google.com>
- Date: Tue, 12 Mar 2013 10:50:23 -0700
- To: Rik Cabanier <cabanier@gmail.com>
- Cc: WHAT Working Group <whatwg@whatwg.org>
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 17:50:49 UTC