c语言矢量字体库,推荐一个2D矢量图形库:Cairo
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
例子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);
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)