IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    AGG入门(五) - 基础渲染器

    Shihira发表于 2012-07-24 08:29:00
    love 0
    基础渲染器(Base Renderer)是扫描线渲染器的基础,可以说,正常情况下,你绘画任何图形、做任何事,都需要通过它。而基础渲染器需要你以模版的形式提供像素格式的信息,他将会通过像素格式混合器来实现渲染。其实,基础渲染器比像素格式混合器多了剪裁盒的功能,其他混合、拷贝什么的和像素格式混合器是相似的,这里就不列出来了。

    矩形类

    AGG封装了一个专门表示矩形的模板类rect_base,方便矩形的操作。下面用rect_i说明一下。

    头文件

    #include "agg_basics.h"

    类型定义

    typedef rect_base rect_i;

    基本成员函数

    • rect_i(x1, y1, x2, y2)
      构造函数,给出最小和最大坐标;
    • normalize()
      修正x1>x2或y1>y2的不合法矩形;
    • clip(rect_i& r)
      取当前矩形与r相交的区域矩形作为当前矩形;
    • is_valid()
      检查矩形是否合法;
    • hit_test(int x, int y)
      检查(x, y)是否在矩形内;

    基础渲染器

    头文件

    #include "agg_renderer_base"

    类型定义

    template class renderer_base

    基本成员函数

    • renderer_base(PixelFormat)
      构造函数,提供像素格式;
    • ren()
      返回像素格式对象;
    • clip_box(x1,y1,x2,y2)
      clip_box_naked(x1,y1,x2,y2)
      设置当前剪裁盒为x1,y1,x2,y2围成的剪裁盒,前者检查剪裁盒是否合法,后者不检查。
    • reset_clipping(bool visibility)
      重置剪裁盒,visibility决定剪裁盒是铺满窗口(可视)还是0(不可视);
    • clip_box()
      xmin()
      ymin()
      xmax()
      ymax()
      返回当前剪裁盒矩形、以及纵横坐标;
    • copy_from()
      blend_from()
      可以比较方便地、以矩形方式拷贝和混合缓存里的图像了;


    Shihira 2012-07-24 16:29 发表评论


沪ICP备19023445号-2号
友情链接