该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

例子2:画圆弧

//定义圆弧的圆点

double xc = 128.0;

double yc = 128.0;

//半径

double radius = 100.0;

//起始弧度,45度转换为弧度:Cairo里用的都是弧度

double angle1 = 45.0  * (M_PI/180.0);  /* angles are specified */

//结束弧度,180度

double angle2 = 180.0 * (M_PI/180.0);  /* in radians           */

//设置线宽:10个单位

cairo_set_line_width (cr, 10.0);

//画圆弧路径,此时只形成了Path,没有实际画出来

cairo_arc (cr, xc, yc, radius, angle1, angle2);

//描边,把之前的Path按设置好的样式实际画出来,到此时实际图像才落地成真

cairo_stroke (cr);

//画两条半径和一个圆点,作为辅助线

/* draw helping lines */

//设置不同的颜色

cairo_set_source_rgba (cr, 1, 0.2, 0.2, 0.6);

//设置辅助线不同的线宽

cairo_set_line_width (cr, 6.0);

//先画个小圆点,圆心跟之前的一样,半径为10,一样只是个Path

cairo_arc (cr, xc, yc, 10.0, 0, 2*M_PI);

//Fill则把路径填充起来,落地成真实的图像

cairo_fill (cr);

//画两条半径

cairo_arc (cr, xc, yc, radius, angle1, angle1);

cairo_line_to (cr, xc, yc);

cairo_arc (cr, xc, yc, radius, angle2, angle2);

cairo_line_to (cr, xc, yc);

cairo_stroke (cr);

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐