[whatwg] on ImageData, putImageData() and drawImage()
Ian Hickson
ian at hixie.ch
Thu Apr 30 14:45:38 PDT 2009
On Tue, 1 Jul 2008, Mathieu HENRI wrote:
>
> As of today the variants of the putImageData() method copy a region of
> an ImageData (in device pixels) straight to a Canvas (in intrinsic
> pixels) and do not allow to scale the region further than the obvious
> device to intrinsic "scaling".
>
> This means that if a developer needs to copy and scale a region of an
> ImageData, he needs to do so in 2 passes, and use a temporary Canvas.
>
> Also, although the the putImageData() and drawImage() methods do more or
> less the same thing, their arguments differ greatly.
>
> This is why, in order to allow scaling of ImageData and to simplify the
> blit operations, I propose to:
>
> * remove the putImageData() method and all its variants in favor of
> allowing the image argument of the drawImage() methods to be an instance
> of either an HTMLImageElement, an HTMLCanvasElement or an ImageData.
>
> * rename the remaining getImageData(sx, sy, sw, sh) method to become a
> new variant of the createImageData() method:
>
> createImageData(sx, sy, sw, sh)
>
> These modifications would make the blit and blit-related operations of
> the Canvas API more simple and uniform.
On Thu, 3 Jul 2008, Mathieu HENRI wrote:
>
> Note that if the fear of breaking existing content is too big, we could
> limit ourselves to just add variants of drawImage() taking an ImageData
> as image argument. This addition is backward compatible and should be
> rather trivial for implementors.
If you want to scale a part of a canvas, why can't you just use
drawImage() with that part of the canvas directly?
--
Ian Hickson U+1047E )\._.,--....,'``. fL
http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,.
Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
More information about the whatwg
mailing list