温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-08-23 19:35:51 来源:网络 阅读:520 作者:fengyuzaitu 栏目:系统运维

头文件

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


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI