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

[whatwg] Canvas context.drawImage clarification

From: Ian Hickson <ian@hixie.ch>
Date: Mon, 27 Jul 2009 23:14:58 +0000 (UTC)
Message-ID: <Pine.LNX.4.62.0907272310250.15342@hixie.dreamhostps.com>
On Mon, 27 Jul 2009, Gregg Tavares wrote:
> 
> The diagram in the docs 
> http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#images
> 
> Clearly show SX maps to DX, SY maps top DY
> 
> But that is not the interpretation that is implemented. The 
> interpretation that is implemented is Source Top/Left maps to Dest 
> Top/Left regardless of whether SX/SY define top left or SX + WIDTH, SY + 
> HEIGHT define top left.
> 
> That seems pretty ambiguous to me.

Ignore the diagram. It's not normative. The text is the only thing that 
matters. I've moved the diagram up to the intro section to make this 
clearer.


> I'd argue that based on the spec as currently written, all current 
> canvas implementations are wrong. Hence the suggestion to make it 
> unambiguous or get the implementation to match the spec.

Could you explain what other interpretations of the following you think 
are reasonable?:

# The source rectangle is the rectangle whose corners are the four points 
# (sx, sy), (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh).
# [...]
# The destination rectangle is the rectangle whose corners are the four 
# points (dx, dy), (dx+dw, dy), (dx+dw, dy+dh), (dx, dy+dh).
#
# When drawImage() is invoked, the region of the image specified by the 
# source rectangle must be painted on the region of the canvas specified 
# by the destination rectangle [...]

It seems pretty unambigious to me.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 27 July 2009 16:14:58 UTC

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