- From: Philip Taylor <pjt47@cam.ac.uk>
- Date: Sat, 30 May 2009 17:20:35 +0100
- To: HTML WG <public-html@w3.org>
The spec says: "the following must result in no visible changes to the rendering: context.putImageData(context.getImageData(x, y, w, h), x, y);" But if I write context.fillRect(0, 0, 10, 10); var imgdata = context.getImageData(0, 10, 10, -10); context.putImageData(imgdata, 0, 10); then imgdata will contain the data from the rectangle (0,0)-(10,10) that was just filled (by the definition of getImageData), but will have imgdata.height = 10 (not -10) since that's the number of rows of image data. putImageData will then draw this data in the rectangle (0,10)-(10,20), and therefore will probably visibly change the rendering. I think a more precise invariant is: context.putImageData(context.getImageData(x, y, w, h), Math.min(x, x+w), Math.min(y, y+h)); but I don't know if there's a nicer way to fix the issue. -- Philip Taylor pjt47@cam.ac.uk
Received on Saturday, 30 May 2009 16:21:14 UTC