中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

AGG第三十三課 line_profile_aa 參數分析說明

發布時間:2020-06-29 23:40:40 來源:網絡 閱讀:538 作者:fengyuzaitu 欄目:編程語言

1 前言
?????? agg::line_profile_aa是agg::renderer_outline_aa渲染線段的屬性設置類,aa就是anti-aliased的意思,具有抗鋸齒功能


2 函數功能說明
??????? 如下簡單介紹一下對于線段的屬性設置,主要是調用agg::line_profile_aa對象的成員函數:
agg::line_profile_aa::min_width()
??????? 字面上理解就是設置最小線寬。如果指定的線寬小于min_width函數的設置值,線段將會被化成透明色(brightness fading).如果將min_width()設置為零,線段看起來就扭成一團。默認設置為1.
agg::line_profile_aa::smoother_width()
??????? 控制線的模糊程度。如果設置為3,厚線看起來相當模糊。這是該算法的一大優勢。如果設置為零,將會得到一些樓梯似得折線(regular,terriblystair-looking).默認值是1.0。
agg::line_profile_aa::gamma()
??????? 修改抗鋸齒的gamma-correction參數值。主要是調用agg_gamma_functions.h文件中的
gamma-functions,當然也可以構建自己的版本。
?
注意:只有width函數生成線段的輪廓。這意味著如果通過min_width函數,smoother_width,
gamma函數,修改agg::line_profile_aa對象,必須重新調用width函數才能夠生效。
scanline rasterizer采用默認的參數值,線段看以來也是相當平滑的.
3 開銷以及原理
??????? 該類創建一個數組,存儲相互依賴的距離,主要是alpha值,實際上是理想線與像素中間的亞像素距離。她意味著該抗鋸齒算法是基于距離的,而掃描線(scanline rasterizer)光柵器是基于區域的。所以兩者之間是有區別的(可以確定一點她看起來更好些)。同時也意味著創建agg::line_profile_aa需要一些開銷。主要是填充尺寸為(width/2+6)的數組。一旦修改了線段的寬度(調用agg::line_profile_aa::width(w)),將會重新進行填充。盡管不是開銷太多,但還是會有的。?
提供如下的策略方案:
1)可以創建一個line_profile_aa對象,然后需要的時候,調用該對象的width函數修改線寬
2)可以預先創建一些line_profile_aa對象,然后通過agg::renderer_outline_aa::profile
函數,重新設置line_profile_aa的引用。
?
最后一種方案是一種不錯的選擇,例如在GIS系統中,當需要渲染復雜的地圖,線段的數量是確定的,但是線寬不同。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桑植县| 虞城县| 莱西市| 平昌县| 莱州市| 象州县| 五莲县| 盐边县| 旬阳县| 久治县| 潞西市| 金乡县| 舞钢市| 花莲县| 五河县| 轮台县| 安吉县| 绥宁县| 武宣县| 松潘县| 关岭| 垣曲县| 丰顺县| 镇康县| 屯留县| 安图县| 沽源县| 赞皇县| 特克斯县| 探索| 高台县| 兴文县| 垦利县| 南皮县| 双桥区| 福清市| 闵行区| 会东县| 益阳市| 扬州市| 布尔津县|