[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