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 CanvasRenderingContext2D?
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. Franz 2009/12/7 Sigbjorn Finne <sigbjorn.fi...@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 <s...@opera.com> > >