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

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

矩形类

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

头文件

#include "agg_basics.h"

类型定义

typedef rect_base<int> 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 PixelFormat> 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()
            可以比较方便地、以矩形方式拷贝和混合缓存里的图像了;

posted on 2012-07-24 16:29 Shihira 阅读(3147) 评论(0)  编辑 收藏 引用 所属分类: 图形编程


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

公告

留言簿(2)

随笔分类

搜索

最新随笔

最新评论

阅读排行榜

评论排行榜