W3C home > Mailing lists > Public > whatwg@whatwg.org > June 2009

[whatwg] getImageData/putImageData comments

From: Boris Zbarsky <bzbarsky@MIT.EDU>
Date: Mon, 01 Jun 2009 09:40:24 -0400
Message-ID: <4A23DA48.2010603@mit.edu>
Maciej Stachowiak wrote:
> In some environments, a CSS pixel may be more than one device pixel.

Yes, I'm well aware.

> In this case, getImageData followed by putImageData will lose resolution. 

Right.  I did mention that in my reply to Oliver.

It seems that there are two significantly different use cases for 
putImageData.  One is that of doing getImageData on a canvas followed by 
some manipulation of the existing pixel data.  In this case I agree that:

> The current design makes it possible to write code that will do the 
> right thing in a scaled UI. It also makes it easy to do the wrong thing 
> and copy only a fraction of the area intended.

I'm not quite sure what I think of the tradeoffs here yet, and I need to 
go read through the old discussions, but I do appreciate the problems.

The other use case is doing createImageData, followed by filling in the 
pixels, followed by putImageData.  In this case, there is no quality 
loss of existing data involved, but the current design still makes it 
easy to do the wrong thing...  In fact, it makes it much more difficult 
than it should be to do the right thing for a typical web developer.

Perhaps the two use cases should use a different put API and 
incompatible imagedata objects and actually use different coordinate 
spaces?  It'd be somewhat confusing, but the use cases for the two seem 
to me to be sufficiently different that it might be warranted...

-Boris
Received on Monday, 1 June 2009 06:40:24 UTC

This archive was generated by hypermail 2.4.0 : Wednesday, 22 January 2020 16:59:12 UTC