W3C home > Mailing lists > Public > whatwg@whatwg.org > October 2006

[whatwg] Canvas draw quality

From: David Hyatt <hyatt@apple.com>
Date: Fri, 20 Oct 2006 22:12:41 -0700
Message-ID: <641D0B04-4D43-49E2-AA8E-F6580B3F6172@apple.com>
I don't think a totally different context is a good idea.  Sometimes  
you want to mix antialiased and non-antialiased modes.

The API in CG is part of the graphics state...

CGContextSetShouldAntialias

I don't think an API like this should be vague about what it's  
doing... e.g., just using vague terms like "quality."  We should say  
what we mean... antialiasing for example.
dave

On Oct 20, 2006, at 10:01 PM, Andrew Fedoniouk wrote:

>
> ----- Original Message -----
> From: Benjamin Joffe
> To: whatwg at whatwg.org
> Sent: Friday, October 20, 2006 9:09 PM
> Subject: [whatwg] Canvas draw quality
>
> I would like to see a property added to the 2d canvas context that  
> would allow quality to be lowered for drawing functions. Normally  
> any time a shape is drawn, pixels close to the boundary are made  
> semi transparent to make it look smooth, this is usually favourable  
> but I have had a need to draw shapes and lines with pixel sharp  
> boundaries in the same way as Java normally does. I would imagine  
> that with the setting enabled, only the integer part of linewidth  
> would be used. This setting would also affect drawing images,  
> making them have no blurring or approximating when scaled or rotated.
>
> This could easily be implemented without affecting old scripts,  
> making a property such as lowQuality = true; (default false). Or  
> perhaps allowing more control: a float from 0 (low quality) to 1  
> (high quality), and interperating null as 1 for backwards  
> compatibility.
>
> This property could also be handy in instaces where both fill() and  
> stroke() are being called. Low quality could be used on the fill()  
> to improve performace while stroke() could be used with high  
> quality so it still draws smoothly.
>
> I think that the best way is just to define different values for  
> the context ID:
> DOMObject getContext(in DOMString contextID);
> Something like "2D" and "2D-fast" or "2D-simple".
> Another option would be to add one optional parameter to the  
> getContext() function.
>
> I doubt that someone will need to switch it in the middle of  
> drawing so
> having such switch as an attribute is redundant.
>
> Andrew Fedoniouk.
> http://terrainformatica.com
>
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20061020/5a92e939/attachment.htm>
Received on Friday, 20 October 2006 22:12:41 UTC

This archive was generated by hypermail 2.3.1 : Monday, 13 April 2015 23:08:29 UTC