Hi,

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.


Kind regards,

--
Mathieu 'p01' HENRI
JavaScript developer, Opera Software ASA

Reply via email to