头文件
#include<agg_rasterizer_scanline_aa.h>
类型
template<class Clip =rasterizer_sl_clip_int>
class rasterizer_scanline_aa
成员函数
void add_path(VertexSource&vs,unsigned path_id=0)加入顶点源
void reset() 清空上一次的渲染缓存数据,每次调用add_path函数之前都需要执行该操作
其中也提供了简单的画线功能,但是实际上并没有生效,所以需要知道整个操作流程是如何执行的!!
void move_to(int x, int y);
void line_to(int x, int y);
如下是一个简单的使用rasterizer_scanline_aa的例子,并没有任何的效果
使用rasterizer_scanline_aa画线是不可能的,但是可以通过move_to_d和line_to_d的配合
使用,构建一个封闭的多边形,渲染出来的就是一个填充的多边形
代码如下:
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的连线函数之后,并没有指定渲染线段的样式,谁知道应该花虚线,还是实线。
摘自:http://www.360doc.com/content/11/1015/09/992979_156311972.shtml
头文件
#include <agg_rasterizer_scanline_aa.h>
主要记录两个画线的方法
void move_to(int x, int y) 简单的画线功能,单位为1/poly_subpixel_scale
void line_to(int x, int y) (poly_subpixel_scale一般为256)
void move_to_d(double x , double y) 简单的画线功能,单位为像素
void line_to_d(double x , double y)
现在的一个疑问:可以使用下面的_d版本画线,但是上面两个版本应该如何组合使用,尤其是这么细的线段如何查看!!