AGG入門(七) - 頂點源
一、修改模板
包含下面的頭文件,并且在the_application類中添加兩個成員。
#include <agg_scanline_u.h>
#include <agg_rasterizer_scanline_aa.h>
private:
//掃描線和掃描線光柵器
agg::scanline_u8 scanline;
agg::rasterizer_scanline_aa<> rasterizer;
二、頂點源

三、內(nèi)置頂點源
四、路徑儲存器
頭文件
類型定義
基本成員函數(shù)
- move_to()
添加命令為 path_cmd_move_to 的頂點,意為下一條線從這個點開始畫; - line_to()
添加命令為 path_cmd_line_to 的頂點,意為畫線到這個點; - arc_to(double rx, double ry, double angle, bool large_arc_flag, bool sweep_flag, double x, double y)
添加一條弧路徑,畫軸長為rx, ry,角度為angle,優(yōu)/劣弧,順逆時針,終點在(x,y)。 - curve3_to()
添加貝塞爾曲線,參數(shù)為一個控制點和終點的坐標 - curve4_to()
添加貝塞爾曲線,參數(shù)為兩個控制點和終點的坐標 - join_path()
添加一個頂點源,即組合 - vertex(unsigned idx, double* x, double* y)
last_vertex(double* x, double* y)
vertex(double* x, double* y)
取頂點位置,前者為已知步驟,后兩者為順序或倒序獲取 - modify_vertex()
modify_command()
修改步驟為idx的頂點坐標和命令
五、其他頂點源
- #include <agg_ellipse.h>
ellipse(double x, double y, double rx, double ry, unsigned num_steps=0, bool cw=false)
圓心(x, y)和長短半軸分別為rx, ry,步驟數(shù)位num_steps(無用),cw決定相交地方是否空出 - #include <agg_arc.h>
arc(double x, double y, double rx, double ry, double a1, double a2, bool ccw=true)
圓心為(x, y)和長短半軸分別為rx, ry,初始角度和終結(jié)角度為a1, a2 - #include <agg_curves.h>
curve3(double x1, double y1, double x2, double y2, double x3, double y3)
三個點,分別為:初始點,控制點一,終結(jié)點 - #include <agg_curves.h>
curve4(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
四個點,分別為:初始點,控制點一,控制點二,終結(jié)點 - #include <agg_rounded_rect.h>
rounded_rect(double x1, double y1, double x2, double r)
對角點的坐標和圓角半徑
至于怎樣把他們畫在渲染內(nèi)存上呢,我們下一篇會講到。
頭文件也漸漸地多了起來,包含頭文件時的工作量有點大;我特地列了一個頭文件,里面已經(jīng)包含了所有的AGG頭文件,以后大家只需要包含它就好了。
下載處:http://m.shnenglu.com/Files/Shihira/agg.h.zip
posted on 2012-07-24 16:30 Shihira 閱讀(5088) 評論(4) 編輯 收藏 引用 所屬分類: 圖形編程