您好,登錄后才能下訂單哦!
本文主要給大家介紹什么是agg::arrowhead 渲染箭頭及使用,文章內容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下什么是agg::arrowhead 渲染箭頭及使用吧。
頭文件:include/agg_arrowhead.h
構造器:
void head(double d1, double d2, double d3, double d4)
void tail(double d1, double d2, double d3, double d4)
通過調用上面的兩個函數,確定了箭頭的形狀。
agg::vcgen_markers_term:結束的定位標識,保存了結束的坐標和方向
比如說調用agg::conv_stroke聲明的時候,提供的模塊參數過少,沒有指定為輪廓線添加標志!!
agg::conv_stroke<agg::path_storage, agg::vcgen_markers_term> stroke(ps1);
agg::vcgen_markers_term這個以端點作為標志點一定不能少
構建標志實例,獲取輪廓線的兩端,準備渲染
agg::conv_marker<agg::vcgen_markers_term, agg::arrowhead> marker(stroke.markers(), ah);
代碼如下:
agg::arrowhead ah;
ah.head(0,10,5,5);
ah.tail(10,10,5,5);
ras.reset();
agg::vcgen_markers_term mt;
mt.add_vertex(200, 250, agg::path_cmd_move_to);
mt.add_vertex(280, 250, agg::path_cmd_line_to);
agg::conv_marker<agg::vcgen_markers_term, agg::arrowhead> arr(mt, ah);
ras.add_path(arr);
//錯誤的情況:ras.add_path(ah),將不清楚描繪的具體位置
agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));
代碼如下:
agg::path_storage ps1;
ps1.move_to(200, 200);
ps1.line_to(400, 200);
//詳細描述箭頭的參數,1.箭頭離線段的端點的距離
agg::arrowhead ah;
ah.head(100,10,5,5);
ah.tail(10,10,5,5);
//給線段通過標志的模板參數,然后會將可以通過stroke的markers函數將線段的端點
//傳agg::conv_marker,vcgen_markers_term:以端點作為標記點
agg::conv_stroke<agg::path_storage, agg::vcgen_markers_term> stroke(ps1);
//用conv_marker指定ah作為線段marker點的標記
agg::conv_marker<agg::vcgen_markers_term, agg::arrowhead> marker(stroke.markers(), ah);
ras.add_path(stroke);
agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));
//marker要緊隨其后加入,添加標志頂點源!!
ras.add_path(marker);
//將線條渲染到內存圖片當中,準備顯示
agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));
看完以上關于什么是agg::arrowhead 渲染箭頭及使用,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業知識信息 ,可以持續關注我們的行業資訊欄目的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。