<div dir="ltr">Why don't you crosscompile libpng and libjpeg  to JavaScript with empscripten and do the recoding yourself?<div>You can use web workers if the compression is slow and you don't want to block the main window.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Aug 21, 2013 at 4:27 AM, Sigurd Lerstad <span dir="ltr"><<a href="mailto:sigurd.lerstad@gmail.com" target="_blank">sigurd.lerstad@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Thank you Ian, for your response.<br>
The use case for my canvas.toDataURL improvements is making a paint/drawing<br>
program and presenting more options to the user when exporting to a file<br>
format. It's as simple as that. As for your point of sending to a server,<br>
what if a server isn't available, what if this is an offline app?<br>
Anyway... I personally missed more control when developing my online paint<br>
program, but I see why this is special.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
-----Original Message-----<br>
From: Ian Hickson [mailto:<a href="mailto:ian@hixie.ch">ian@hixie.ch</a>]<br>
Sent: 21. august 2013 01:34<br>
To: Sigurd Lerstad<br>
Cc: <a href="mailto:help@whatwg.org">help@whatwg.org</a><br>
Subject: Re: [html5] HTML5 canvas.toDataURL suggestions<br>
<br>
On Sat, 18 May 2013, Sigurd Lerstad wrote:<br>
><br>
> I suggest improving / making more flexible the canvas.toDataURL API<br>
><br>
> The API is currently called with a second quality argument for the<br>
> JPEG and WebP formats, and no second argument for the PNG format:<br>
><br>
> toDataURL(type, quality);  // JPEG and WebP<br>
> toDataURL(type);           // PNG<br>
><br>
> I suggest the following possibilities as well:<br>
><br>
>              grayscale: true/false,     // since the JPEG format also<br>
> supports grayscale images at smaller files sizes<br>
<br>
What's the use case?<br>
<br>
<br>
>              progressive: true/false<br>
<br>
What's the use case for controlling this?<br>
<br>
<br>
To be perfectly honest, I don't really understand why we'd want to expose as<br>
a lossy format at all. It seems better to get the whole data to the server,<br>
and then let the server do whatever it needs to do (convert to JPEG, etc)<br>
for long-term use of the data.<br>
<br>
<br>
>              interlaced: true/false,<br>
>              grayscale: true/false,<br>
>              alpha: true/false,<br>
><br>
> Some means of creating 8bit color indexed PNG would also be nice.<br>
<br>
Nice for what? I don't really understand the use cases here.<br>
<br>
--<br>
Ian Hickson               U+1047E                )\._.,--....,'``.    fL<br>
<a href="http://ln.hixie.ch/" target="_blank">http://ln.hixie.ch/</a>       U+263A                /,   _.. \   _\  ;`._ ,.<br>
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'<br>
<br>
_______________________________________________<br>
Help mailing list<br>
<a href="mailto:Help@lists.whatwg.org">Help@lists.whatwg.org</a><br>
<a href="http://lists.whatwg.org/listinfo.cgi/help-whatwg.org" target="_blank">http://lists.whatwg.org/listinfo.cgi/help-whatwg.org</a><br>
</div></div></blockquote></div><br></div>