W3C home > Mailing lists > Public > public-webapps@w3.org > January to March 2013

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

From: Florian Bösch <pyalot@gmail.com>
Date: Wed, 16 Jan 2013 17:02:42 +0100
Message-ID: <CAOK8ODiQ=Exhagwezg_3Ty1A7F0p0JmhXUeDRpAGt-Bfe-j=Lg@mail.gmail.com>
To: Kyle Huey <me@kylehuey.com>
Cc: Glenn Maynard <glenn@zewt.org>, Webapps WG <public-webapps@w3.org>
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 <me@kylehuey.com> wrote:

> On Wed, Jan 16, 2013 at 7:50 AM, Glenn Maynard <glenn@zewt.org> wrote:
>> On Wed, Jan 16, 2013 at 9:40 AM, Florian Bösch <pyalot@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
Received on Wednesday, 16 January 2013 16:03:11 UTC

This archive was generated by hypermail 2.3.1 : Friday, 27 October 2017 07:26:51 UTC