定義文件:include/agg_arc.h
創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)巴楚,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792類函數(shù)構(gòu)造器:
arc(double x, double y, double rx, double ry, double a1,double a2, bool ccw=true)
圓心為(x, y)和長短半軸分別為rx, ry,初始角度和終結(jié)角度為a1, a2
范圍是0 注意:不是平常使用的角度180,360,而是弧度,否則出錯 繪制一個圓心(400,100),長短半軸都是100的圓弧,初始角度是0,終結(jié)角度是3.14,折算成角度是180度??梢允褂胊gg::deg2rad(90)將角度轉(zhuǎn)換成弧度。 代碼如下: agg::arc arc(400, 100, 100, 100, 0, 3.14,false); agg::conv_stroke ras.add_path(stroke); agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(0,255,0)); 分析:可以調(diào)整最后一個參數(shù),修改成true,查看效果??! agg::arc arc(400, 100, 100, 100, 0, 3.14/3,true); agg::path_storage path; path.move_to(400,100); path.concat_path(arc); path.line_to(400,100);//連接回到圓心 path.end_poly();//重新閉合 ras.add_path(path); agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(0,255,0)); 我們可以不使用end_poly函數(shù)進行閉合,而是獲取弧線的開始頂點,然后閉合。 agg::arc arc(400, 100, 100, 100, 0, 3.14/3,true); agg::path_storage path; path.move_to(400,100); path.concat_path(arc);//連接頂點源 path.line_to(400,100);//連接回到圓心 arc.rewind(0); double x; double y; arc.vertex(&x,&y); path.line_to(x,y);//從圓心連接到開始頂點源 ras.add_path(path); agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(0,255,0)); 從這個例子,我們可以了解兩點: 1如何獲取其他頂點源的起點,當(dāng)然結(jié)束點可以通過遍歷獲得 2 如何與agg::path_storage配合使用,快速的繪制圖形。 agg::path_storage類提供如下的函數(shù) 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)。 但是不了解長短半軸,不知道角度,優(yōu)劣弧,順逆時針等等,都了解,但是就是畫不了??! 測試?yán)?: //完全沒有繪制圖形 agg::path_storage ps; ps.arc_to(10,10,agg::deg2rad(90),true,false,160,100); agg::conv_stroke ras.add_path(stroke); agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0)); 測試?yán)?: //繪制的圖形太難理解,move_to到開始繪制點,然后順時針繪制半圓 agg::path_storage ps; ps.move_to(320,160); ps.arc_to(80,10,6.28,true,true,160,160); agg::conv_stroke ras.add_path(stroke); agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0)); ras.reset(); 另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。2 例子
2.1 繪制弧線
2.2 繪制扇形
1)代碼如下:
2)代碼如下:
3 agg::path_storage的arc_to疑惑
新聞標(biāo)題:AGG第十三課agg::arc渲染弧線和扇形-創(chuàng)新互聯(lián)
瀏覽地址:http://weahome.cn/article/jhsop.html