[whatwg] I believe source rectangles for HTML5 Canvas drawImage are specified incorrectly
kevin.gadd at gmail.com
Tue Dec 18 07:17:29 PST 2012
Sorry, upon reading over the ImageBitmap part of the spec again I'm
confused: Why is constructing an ImageBitmap asynchronous? I thought
any decoding isn't supposed to happen until drawImage, so I don't
really understand why this operation involves a callback and a delay.
Making ImageBitmap creation async means that you *cannot* use this as
a replacement for drawImage source rectangles unless you know all
possible source rectangles in advance. This is not possible for many,
many use cases (scrolling through a bitmap would be one trivial
Is it async because it supports using Video and Blob as the source? I
really love the feature set (being able to pass ImageData in is going
to be a huge boon - no more temporary canvases just to create images
from pixel data!) but if it's async-only I don't know how useful it
will be for the issues that led me to starting this discussion thread
in the first place.
On Tue, Dec 18, 2012 at 7:12 AM, Kevin Gadd <kevin.gadd at gmail.com> wrote:
> Is it possible to expose the width/height of an ImageBitmap, or even
> expose all the rectangle coordinates? Exposing width/height would be
> nice for parity with Image and Canvas when writing functions that
> accept any drawable image source.
> Thanks for the prompt action here, this looks like a straightforward solution.
> On Tue, Dec 18, 2012 at 7:03 AM, Justin Novosad <junov at chromium.org> wrote:
>> Thanks Ian.
>> On Tue, Dec 18, 2012 at 1:04 AM, Robert O'Callahan <robert at ocallahan.org>
>>> On Tue, Dec 18, 2012 at 6:57 PM, Rik Cabanier <cabanier at gmail.com> wrote:
>>>> Does it matter that this solution is in the image world and not 2d
>>>> canvas? It seems that this will have a bigger impact on the browser's
>>>> codebase since it spans images and canvas.
>>> I think that's a good thing --- it's more generally useful.
>>> Note that Ian has adopted this approach (via an ImageBitmap constructor).
>>> Jesus called them together and said, “You know that the rulers of the
>>> Gentiles lord it over them, and their high officials exercise authority over
>>> them. Not so with you. Instead, whoever wants to become great among you must
>>> be your servant, and whoever wants to be first must be your slave — just as
>>> the Son of Man did not come to be served, but to serve, and to give his life
>>> as a ransom for many.” [Matthew 20:25-28]
More information about the whatwg