Thank you Igor, I suspect there is no better solution. But anyway I am surprised, every simple drawing application manages ellipses.
Thank you anyway. Juraj El 11-04-2014, a las 17:35, Igor Stasenko <siguc...@gmail.com> escribió: > yes, you using stroke for 2nd ellipse, > but stroke width is also subject of scaling, that's why it has different > width, because > of non-uniform scaling (x/y). > instead you can first, draw a filled ellipse (blue) and then draw green one > over it. > > > On 11 April 2014 21:33, Juraj Kubelka <juraj.kube...@gmail.com> wrote: > Hi Igor, hi all! > > I am not sure how to properly draw ellipse. Right now I draw a path like this: > > The path is created that way: > -=-=-=-=- > computePath > path := self athensCanvas > createPath: [ :builder | > builder > absolute; > moveTo: 0 @ 0.5; > ccwArcTo: 0.5 @ 0.0 angle: 90 > degreesToRadians; > ccwArcTo: 0.0 @ -0.5 angle: 90 > degreesToRadians; > ccwArcTo: -0.5 @ 0.0 angle: 90 > degreesToRadians; > ccwArcTo: 0 @ 0.5 angle: 90 > degreesToRadians ] > -=-=-=-=- > > And draw it like this: > -=-=-=-=- > drawOn: athensCanvas > athensCanvas pathTransform > restoreAfter: [ > athensCanvas pathTransform > scaleBy: rectangle extent asFloatPoint > athensCanvas > setPaint: color; > drawShape: self path. > (athensCanvas setStrokePaint: strokePaint) > width: (self strokeWidth / self scale) asFloat. > athensCanvas drawShape: self path ] > -=-=-=-=- > > But with a different shapes, the border does not have same width all around > the ellipse. See the image: > > <Captura de pantalla 2014-04-11 a la(s) 16.29.13.png> > > Is there better way to draw it? > Thank you, > Jura > > > > -- > Best regards, > Igor Stasenko.