Re: how do you draw an outline of a circle/ellipse
Uli Schlachter <[email protected]>
| Newsgroups | gmane.comp.lib.cairo |
|---|---|
| Message-ID | <[email protected]> |
Hi, since this wasn't yet said explicitly, I want to mention it: Am 11.11.2015 um 09:32 schrieb Mark Olesen: > I am unable to create an outline of a circle/ellipse. > cairo_stroke below fills instead of creating an outline. > Any ideas? > > double width= 100; > double height= 100; > double x= 100; > double y= 100; > > cairo_save (cr); > cairo_set_source_rgb(cr, 1.0, 0.0, 0.0); > cairo_translate (cr, x + width / 2., y + height / 2.); > cairo_scale (cr, width / 2., height / 2.); > cairo_arc (cr, 0., 0., 1., 0., 2 * M_PI); > cairo_stroke (cr); > cairo_restore (cr); Swap the calls to cairo_stroke() and cairo_translate() Alternatively: cairo_save (cr); cairo_translate (cr, x + width / 2., y + height / 2.); cairo_scale (cr, width / 2., height / 2.); cairo_arc (cr, 0., 0., 1., 0., 2 * M_PI); cairo_restore (cr); cairo_save (cr); cairo_set_source_rgb(cr, 1.0, 0.0, 0.0); cairo_stroke (cr); cairo_restore (cr); The "trick" is that save/restore does not save/restore the current path. > > Following is the version of cairo I am using: > lrwxrwxrwx 1 root root 21 Oct 31 05:03 /usr/lib/libcairo.so -> > libcairo.so.2.11400.4 > lrwxrwxrwx 1 root root 21 Oct 31 05:03 /usr/lib/libcairo.so.2 -> > libcairo.so.2.11400.4 > -rwxr-xr-x 1 root root 1236288 Oct 31 05:03 /usr/lib/libcairo.so.2.11400.4 > > If I get rid of scale, and put in a value for radius, such as 10, it will > draw the outline. However, I will need cairo_scale to create an ellipse. > > > Thanks in advance, > Mark Cheers, Uli -- Who needs a ~/.signature anyway? -- cairo mailing list [email protected] http://lists.cairographics.org/mailman/listinfo/cairo