AGG第二十四课 渲染太极图

本文介绍使用AGG库绘制太极图的具体步骤,包括白色大半圆、黑色及白色小半圆等部分的绘制,并详细说明了如何通过不同路径实现太极图中各元素的填充。

//画左边白色大半圆

    ras.reset();

    agg::arc arc(400, 100, 100, 100, 1.57, -1.57,false);

    ras.add_path(arc);

    ras.move_to_d(400,0);

    ras.line_to_d(400,200);

    agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,255,255));

    ras.reset();

 


    agg::arc arc1(400, 100, 100, 100, 1.57, -1.57,true);

    ras.add_path(arc1);

    ras.edge_d(400,0,400,200);

    agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(0,0,0));


    //绘制上面的白色小半圆

    ras.reset();

    agg::arc arc2(400, 50, 50, 50, 1.57, -1.57,true);

    ras.add_path(arc2);

    ras.auto_close(true);


    agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,255,255));  


    //绘制下面的黑色小半圆 

    ras.reset();

    agg::arc arc3(400, 150, 50, 50, 1.57, -1.57,false);

    ras.add_path(arc3);

    ras.close_polygon();

    agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(0,0,0));  

   

    //绘制上面的黑色太极眼

    ras.reset();

    agg::ellipse ell(400,50,10,10);

    ras.add_path(ell);

    agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(0,0,0));  


    //绘制下面的白色太极眼

    ras.reset();

    agg::ellipse ell1(400,150,10,10);

    ras.add_path(ell1);

    agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,255,255));  


多说一句:    ras.close_polygon();   ras.auto_close(true);  ras.edge_d(400,0,400,200);都是用来封闭半弧的,然后才能够填充颜色!!




     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1962144,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值