使用cairo绘制图形的部分函数总结
来源:互联网 发布:上海网页美工培训班 编辑:程序博客网 时间:2024/04/30 15:15
一 绘制文本
-
- cairo_set_source_rgb(cr,0.627,0,0);
-
- cairo_select_font_face(cr,"Adobe Heiti Std",CAIRO_FONT_SLANT_NORMAL,CAIRO_FONT_WEIGHT_NORMAL);
- cairo_set_font_size(cr,24);
-
-
- cairo_move_to(cr,40.0,64.0);
-
- cairo_show_text(cr,"Hello Cairo!");
二 绘制线段
- cairo_t *cr;
-
-
- cr = gdk_cairo_create(widget->window);
-
-
- cairo_set_source_rgb(cr,0,0,0);
- cairo_set_line_width(cr,0.5);
-
-
-
- int i,j;
-
- for(i = 0;i <= count-1;i++)
- {
- for(j = 0;j <= count-1;j++)
- {
- cairo_move_to(cr,coordx[i],coordy[i]);
- cairo_line_to(cr,coordx[j],coordy[j]);
- }
- }
-
- count = 0;
-
- cairo_stroke(cr);
- cairo_destroy(cr);
三 绘制矩形
- cairo_t *cr;
- cr = gdk_cairo_create(widget->window);
- cairo_set_source_rgb(cr,0,0,0);
- cairo_set_line_width(cr,1);
-
- cairo_rectangle(cr,20,20,120,80);
-
- cairo_rectangle(cr,180,20,80,80);
-
- cairo_stroke_preserve(cr);
- cairo_set_source_rgb(cr,0,0,1);
-
- cairo_fill(cr);
四 绘制圆形
- cairo_t *cr;
- cr = gdk_cairo_create(widget->window);
- int width,height;
- gtk_window_get_size(GTK_WINDOW(widget),&width,&height);
- cairo_set_line_width(cr,9);
- cairo_set_source_rgb(cr,0.69,0.19,0);
-
-
-
- cairo_arc(cr,width/2,height/2,(width < height ? width:height)/2 - 10,0,2 * M_PI);
-
-
- cairo_stroke_preserve(cr);
- cairo_set_source_rgb(cr,0.3,0.4,0.6);
-
-
-
- cairo_fill(cr);
- cairo_destroy(cr);
五 绘制弧线
- cairo_set_source_rgb(cr,0,0,0);
-
- cairo_arc(cr,90,160,40,M_PI / 4,M_PI);
-
- cairo_close_path(cr);
- cairo_stroke_preserve(cr);
- cairo_set_source_rgb(cr,1,1,1);
- cairo_fill(cr);
六 绘制椭圆
- cairo_set_source_rgb(cr,0,0,0);
-
- cairo_translate(cr,220,180);
-
- cairo_scale(cr,1,0.7);
- cairo_arc(cr,200,180,50,0,2*M_PI);
- cairo_stroke_preserve(cr);
- cairo_set_source_rgb(cr,1,1,1);
- cairo_fill(cr);
0 0