W3C home > Mailing lists > Public > whatwg@whatwg.org > September 2012

Re: [whatwg] [canvas] matrix based changes on bitmaps

From: Ian Hickson <ian@hixie.ch>
Date: Thu, 20 Sep 2012 22:45:29 +0000 (UTC)
To: Tyler Larson <talltyler@gmail.com>, Charles Pritchard <chuck@jumis.com>, Boris Zbarsky <bzbarsky@MIT.EDU>
Message-ID: <Pine.LNX.4.64.1209202239590.27765@ps20323.dreamhostps.com>
Cc: whatwg@whatwg.org
On Mon, 23 Apr 2012, Tyler Larson wrote:
> Looping over every pixel in JavaScript is slow. Many cool things could 
> be taken care of much faster if the canvas had some form of matrix 
> manipulations built in.
> All of the pixels could have one transformation operation defined and 
> all of the pixels could be operated on at once in something lower level.
> It could look like this...
> context.transformMatrix([0.5,0.5,0.5,0,0,
> 					0.5,0.5,0.5,0,0,
> 					0.5,0.5,0.5,0,0,
> 					0,0,0,1,0,
> 					0,0,0,0,1]);
> It's far simpler than looping over an array of pixels and picking out 
> the values of each color.
> Other graphics systems have ways of doing this already. You can easily 
> find sample tutorials on how to create and transform matrixes.
> In some languages they have matrix objects that have methods for even 
> easier manipulation of these transformations but I'm cool without this 
> if it is easier.

It seems like a reasonable suggestion, but since the pixel data is 
available as an ArrayBuffer, it seems like the more reasonable thing to do 
is to provide generic ArrayBuffer manipulation routines.

I recommend raising this as feedback on the ArrayBuffer spec.

Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'
Received on Thursday, 20 September 2012 22:45:56 UTC

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