本文主要給大家介紹什么是agg::arrowhead 渲染箭頭及使用,文章內容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下什么是agg::arrowhead 渲染箭頭及使用吧。
創新互聯是一家專業提供中寧企業網站建設,專注與成都網站建設、成都網站制作、H5建站、小程序制作等業務。10年已為中寧眾多企業、政府機構等服務。創新互聯專業網站設計公司優惠進行中。
頭文件: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 渲染箭頭及使用,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業知識信息 ,可以持續關注我們的行業資訊欄目的。
網站題目:什么是agg::arrowhead渲染箭頭及使用
標題路徑:http://vcdvsql.cn/article22/gjogcc.html
成都網站建設公司_創新互聯,為您提供移動網站建設、網頁設計公司、搜索引擎優化、用戶體驗、網站設計公司、外貿建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯