Thanks for the explanation.

I don't know what to say. You go to great length explaining why circles aren't 
round and why the corner radius on rounded rectangles are different on the 
different sides, and why you will not fix it. I guess other platforms (Flash, 
.NET and similar) also have these problems since they aren't fixable?

It turns out that it is too hard to do Java2D graphics in a high fidelity way, 
at least without resorting to hacks.

Another problem I have is that one can not in Java2D in a generic way outline 
and fill a Shape and make it look good. The outline will plot outside and 
inside the shape depending on the direction of the vector (in degrees). This is 
since you don't provide an INSIDE and OUTSIDE stroke. You have the hanging 
right/left stroke and the pure stroke.

The pure stroke isn't usable since you either get the lines sharing two pixels 
for vertical and horizontal lines or you do as you suggest and translate 0.5, 
in which case you get good lines but shapes that are one pixel too big.

One CAN solve the 
one-pixel-too-big-shapes-when-using-PURE-and-translate.5-problem by scaling the 
output with ((width - 1.0)/width) but that only works for rectangles (shapes 
with equal but mirrored quadrants actually, so also for circles) but fails for 
general paths, polygons and composite shapes of all kinds.

This problem has shown to unsolvable in a generic way. Only if one has prior 
knowledge about what type of shape to paint and are in full control of the 
rendering hints can one get good results for some types of shapes. You can not 
create an API that takes a Shape, a fill and stroke color and do a decent job 
painting those at some coordinates.

If you (as in Sun) are sincere in your efforts to take on Flash and Silverlight 
these kinds of rendering issues must be solved IMO. Given your stance as 
explained above I guess they won't be until it's too late though. :(

Cheers,
Mikael
[Message sent by forum member 'mikaelgrev' (mikaelgrev)]

http://forums.java.net/jive/thread.jspa?messageID=224787

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to