[cairo] How to take cairo_set_source_rgb effect for different color points?

Leslie Zhai xiangzhai83 at gmail.com
Mon Oct 7 20:29:57 PDT 2013


Hi Chris,

Thanks for your advice :)

I used XFillArc(Xlib stuff) instead 
https://github.com/xiangzhai/grt/blob/master/GRTExamples/ClassificationModulesExamples/X11DTWExample/x11.cpp#L227

> On Sun, Oct 06, 2013 at 03:50:59PM +0800, Leslie Zhai wrote:
>>     Hi cairo developers,
>>
>>     I wanna draw some points indicating mouse`s X and Y, and used random
>>     number from 0 to 255 for RGB color of the points, such as:
>>
>>     for loop
>>     {
>>                                   
>>             double r = Map(i, 0, 100, 0, 255);    // Re-maps a number from one
>>     range to another
>>     [1]http://www.openframeworks.cc/documentation/math/ofMath.html#show_ofMap
>>             double g =
>>     0;
>>             double b = 255 -
>>     r;
>>                                                                 
>>             cairo_set_source_rgb(c, r / 255.0, g / 255.0, b /
>>     255.0);
>>             cairo_move_to(c, x,
>>     y);
>>            
>>     cairo_close_path(c);
>>     }
>>     cairo_stroke(c);
>>
>>     It is unable to put cairo_stroke into the for loop, it might be a heavy
>>     operation when draw the path too often.
>>     But cairo_set_source_rgb failed to take effect in the loop if cairo_stroke
>>     was outside.
>>
>>     The source code is available via
>>     [2]https://github.com/xiangzhai/grt/tree/master/GRTExamples/ClassificationModulesExamples/CairoX11DTWExample
>>
>>     So how to take cairo_set_source_rgb effect for drawing different color
>>     points?
>>     Please someone give me some advice, Thanks a lot :)
> You can't store color per-path as stroke/fill operate upon the path union.
> For the same reason calling stroke 100 times for a simple path is likely to
> be a lot cheaper than calling it once with a 100-fold more complex path.
>
> And you probably don't want to use stroke here unless you have a wide
> pen and wish to use the pen to draw dots.
> -Chris
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20131008/235b04e0/attachment.html>


More information about the cairo mailing list