码迷,mamicode.com
首页 > 其他好文 > 详细

AGG第三十九课 rasterizer_scanline_aa画线函数疑惑

时间:2017-09-29 19:53:10      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:agg   rasterizer_scanline_aa

头文件

#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版本画线,但是上面两个版本应该如何组合使用,尤其是这么细的线段如何查看!!


AGG第三十九课 rasterizer_scanline_aa画线函数疑惑

标签:agg   rasterizer_scanline_aa

原文地址:http://fengyuzaitu.blog.51cto.com/5218690/1969669

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!