<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><html>On Feb 10, 2008, at 2:26 PM, Robert O'Callahan wrote:</html><br class="Apple-interchange-newline"><blockquote type="cite">On Feb 10, 2008 10:07 PM, Oliver Hunt &lt;<a href="mailto:oliver@apple.com">oliver@apple.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> <div style="">That said, basically what you're saying is that canvas should not support hidpi. &nbsp;At all. There is no need to request the dpi of a canvas, but (and here's the critical bit) you can't have get/putImageData work at a different resolution from the backing buffer.</div> </blockquote><div><br>Why not?</div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>Because the purpose of get/putImageData *is* to get to the device pixels, that's their purpose, making them not do that is both bizarre, breaks the semantic that putImageData(getImageData(x,y,w,h), x, y) will leave the canvas unchanged, and the cost of sub-/super-sampling removes the whole "speed" thing that the API was originally added for.</div><div><br class="webkit-block-placeholder"></div><blockquote type="cite"><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style="">Their sole purpose is to be a 1:1 mapping to the canvas backing store, so saying get/putImageData should work in canvas pixels and not device pixels seems to defy the whole reason for this API existing.</div> </blockquote><div><br>It seems to me the API would still be useful even if it downsampled the backing store.<br><br>I guess we'll just cross our fingers and hope Web developers get it right. We could implement a higher-resolution canvas backing store for Firefox, but that wouldn't really help since most developers won't test with a setup that would trigger it.</div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>Yeah, unfortunately we all know the web authors tend to favour the "it works now, so must be correct" philosophy -- it's looking more and more like i will be forced to convert the canvas from hidpi to 1:1 the moment any of the imagedata/toDataURL routines are used. &nbsp;*sigh*</div><div><br class="webkit-block-placeholder"></div><div>--Oliver</div><br><blockquote type="cite"><div class="gmail_quote"><div><br> <br>Rob <br></div></div>-- <br>"He was pierced for our transgressions, he was crushed for our iniquities; the punishment that brought us peace was upon him, and by his wounds we are healed. We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all." [Isaiah 53:5-6]</blockquote></div><br></body></html>