Re: Reading image bytes to a PNG in a typed array

2013-01-26 Thread Gregg Tavares
Could this be solved in workers?

x) Create canvas, set to desired size
x) Create 2D context
x) Create imageData object
x) Create a WebGL framebuffer object
x) Attach texture as color target to framebuffer
x) read back pixels into canvas2d's imageData.data member
x) ctx.putImageData into the canvas

1) Set CanvasProxy (or whatever it's called) to the size you want
2) Draw Texture
3) call CanvasProxy's toDataURL('image/png')
4) Set the CanvasProxy back to the original size
5) snip off the mime/encoding header
6) implement base64 decode in JS and decode to Uint8Array

Less steps and it's now async as well.




On Wed, Jan 16, 2013 at 8:02 AM, Florian Bösch pya...@gmail.com wrote:

 Whatever the eventual solution to this problem, it should be the user of
 the API driving the decision how to get the data.


 On Wed, Jan 16, 2013 at 4:56 PM, Kyle Huey m...@kylehuey.com wrote:


 On Wed, Jan 16, 2013 at 7:50 AM, Glenn Maynard gl...@zewt.org wrote:

 On Wed, Jan 16, 2013 at 9:40 AM, Florian Bösch pya...@gmail.com wrote:

 Perhaps we should think of a better scheme to export data than toFoo().
 Maybe toData('url'), toData('arraybuffer') toData('blob') or perhaps
 toData(URL), toData(ArrayBuffer) or toData(Blob). I tend to think that if
 you're starting to write toA, toB, toC, toX methods on an object, you've
 not thought this really trough what's a parameter, and what's a method.


 We should be avoiding the need to return data in a bunch of different
 interfaces in the first place.  If the data is large, or takes a long or
 nondeterministic amount of time to create (eg. something that would be
 async in the UI thread), return a Blob; otherwise return an ArrayBuffer.
  The user can convert from there as needed.


 Well, the problem is that we fundamentally screwed up when we specced
 Blob.  It has a synchronous size getter which negates many of the
 advantages of FileReader extracing data asynchronously.  For something like
 image encoding (that involves compression), where you have to perform the
 operation to know the size, Blob and ArrayBuffer are effectively
 interchangeable from the implementation perspective, since both require you
 to perform the operation up front.

 - Kyle





CfC: publish FPWD of Streams API; deadline February 2

2013-01-26 Thread Arthur Barstow
Feras would like to publish a First Public Working Draft (FPWD) of 
Streams API and this is a Call for Consensus (CfC) to do so, using the 
following ED as the basis:


 https://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm

This CfC satisfies the group's requirement to record the group's 
decision to request advancement.


By publishing this FPWD, the group sends a signal to the community to 
begin reviewing the document. The FPWD reflects where the group is on 
this spec at the time of publication; it does _not_ necessarily mean 
there is consensus on the spec's contents.


If you have any comments or concerns about this CfC, please reply to 
this e-mail by February 2 at the latest. Positive response is preferred 
and encouraged, and silence will be considered as agreement with the 
proposal.


Feras - with Chrome(24) it appears the ED is not loading a W3C 
stylesheet (looks much better with FF 19.0). Perhaps this is related to 
the hg http/https mentioned yesterday in [1].


-Thanks, AB



[1] 
http://lists.w3.org/Archives/Public/public-webapps/2013JanMar/0149.html