剖析rasterizer_scanline_aa画线函数

头文件

#include<agg_rasterizer_scanline_aa.h>

类型

template<class Clip =rasterizer_sl_clip_int>

class rasterizer_scanline_aa

成员函数

void reset() 清空,这个每次渲染到内存之后都需要知心该操作

void add_pathVertexSource&vs,unsigned path_id=0加入顶点

其中也提供了简单的画线功能,但是实际上并没有生效,所以需要知道整个操作流程是如何执行的!!

void move_to(int x, int y);

void line_to(int x, int y);

如下是一个简单的使用rasterizer_scanline_aa的例子,并没有任何的效果:

代码如下:

    ras.reset();
    /*
    agg::path_storage ps1;
    ps1.move_to(200,200);
    ps1.line_to(400,200);

    agg::line_cap_e cap = agg::square_cap;
    agg::conv_stroke<agg::path_storage> stroke(ps1);
    stroke.line_cap(cap);
    stroke.width(50);
    ras.add_path(stroke);
    */
    //下面代码主要是测试rasterizer_scanline_aa如何画线,目前暂时无法实现
    ras.move_to(400,400);
    ras.line_to(500,500);
    agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));
    ras.reset();

该例子是在已有的基础上进行测试的,不过有一点是可以肯定的,ras的连线函数之后,并没有指定渲染线段的样式,谁知道应该花虚线,还是实线,

你可能感兴趣的:(agg)