[whatwg] "offscreen canvas" /Access to canvas functionality from a worker

Franz Buchinger fbuchinger at gmail.com
Thu Dec 10 00:45:19 PST 2009

Hi Sigbjorn,

Does this mean that I have to implement my own image scaling method in
Javascript when using web workers, instead of using the scale() method of

If so, I'd have to manually iterate over all pixels of the image, perform
some nearest-neighbour calculation and create a new ImageData Object with
the result...
This will be magnitudes sloooooooooower than scale() :(

I'd really appreciate if the "scale-images-before-upload" use case would be
considered better in the HTML5 spec. After all, images are the most
frequently uploaded file type and it has always been a hassle for users to
scale down their multi-megapixel photos manually before uploading them. Now
that we have the chance to solve this issue with pure-browser techniques, we
stop half-way.


2009/12/7 Sigbjorn Finne <sigbjorn.finne at gmail.com>

> On 12/5/2009 13:24, Franz Buchinger wrote:
> > Gears introduced the concept of an "offscreen canvas" that doesn't draw
> > anything in the browser window, but can be used to manipulate images in a
> > web worker.
> >
> > I used this functionality to implement a "resize-before-upload" feature
> in
> > my photo gallery uploader. Now I'm trying to port my uploader to HTML5
> but
> > there seems no way to delegate the scaling work to a HTML5 web worker.
> > Surely I could use the DOM canvas to scale down the photos in the main
> > "browser thread", but this means that the UI gets blocked during this
> > process.
> >
> > If the user chooses more than a few multi-megapixel photos, the
> > CPU-intensive downscaling will likely freeze the browser and trigger a
> > script abortion warning.
> >
> > Are there plans to introduce an "offscreen canvas" in html5? If not,
> which
> > workarounds are possible?
> >
> Hi Franz,
> ImageData is cloneable via postMessage(), so you could perform some
> forms of image processing that way.
> --sigbjorn <sof at opera.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20091210/b92af70f/attachment-0002.htm>

More information about the whatwg mailing list