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 閱讀(3892) 評論(0) 編輯 收藏 引用 所屬分類: 圖形編程