我正在使用cairo繪製一些弧線,下面是函數。開羅:重新填充對象(圓圈)並刪除它
cairo_t* drawCircle(cairo_surface_t *container, int x, int y, int r, int cr, int cg, int cb, int ca)
{
cairo_t *cairoInstance; //Create instance
cairoInstance = cairo_create(container);
cairo_set_source_rgba(cairoInstance, 0,0,1,0.5);
cairo_arc(cairoInstance, x, y, r, 0, 2*M_PI);
cairo_stroke_preserve(cairoInstance);
cairo_fill(cairoInstance);
gtk_widget_queue_draw_area(GTK_WIDGET(window), 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT); //Redraws the window
return cairoInstance;
}
第一個問題:當我稍後更改source_rgba然後填充時,它會填充上一個顏色。有沒有辦法在重新填充顏色之前重新填充顏色?
其次,如果我想稍後放棄/刪除弧/圓,我該怎麼做?我試圖使用cairo_destroy,但它似乎銷燬實例並不刪除實際的對象。
謝謝!
「重置填充」是什麼意思? – 2013-04-28 05:06:08
刪除以前的顏色,基本上是100%的透明圓。 – 2013-04-28 05:42:40