真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

AGG第十課agg::conv_stroke渲染輪廓線-創(chuàng)新互聯(lián)

1前言

輪廓線就是圖形的邊界,任何封閉的頂點源跳過agg::conv_stroke階段,將會描繪實心的圖形,填充的顏色和邊界保持一致。如果不封閉的頂點源一旦跳過agg::conv_stroke就什么也不繪制。agg::conv_stroke就是用來描繪圖形邊界的。

創(chuàng)新互聯(lián)公司主營西夏網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶APP軟件開發(fā),西夏h5微信小程序開發(fā)搭建,西夏網(wǎng)站營銷推廣歡迎西夏等地區(qū)企業(yè)咨詢

和agg::conv_contour對比可知,agg::conv_contour是擴展圖形的輪廓線,通俗一點就是拓展圖形的邊界,對圖形的邊界進行放縮(但是和agg::trans_affine不同,這是中心位置不變的縮放)。

摘自:McSeem

A line is in general more complexobjectthan a polygon. Well, unless it's a simple jagged Bresenham line. All linesareeventually converted into polygons that represent their outlines. So that,inmodern graphics there are no lines,there are *strokes*. And conv_strokedoesthis job

2 官方例子

      執(zhí)行examples/conv_stroke例程,提供如下的控制:

1)線段端點的切換

2)線段之間的連接方式

3)線段寬度

4)miter limit工件的鏈接切口

3 輪廓線屬性的設置

1)線段端點的形狀

  enum line_cap_e

   {

      butt_cap,//按鈕形狀,實際和方形形狀并無二致

      square_cap,//設置之后,長度比butt_cap長一些

      round_cap//半圓形狀

};

設置函數(shù):voidline_cap(line_cap_e lc)

2)線段的寬度

設置函數(shù):voidwidth(double w)

3)介紹stroke的默認參數(shù)

當然我們可以不調(diào)用line_cap,也可以不調(diào)用width,因為stroke有默認的構(gòu)造器,指定了默認的參數(shù)如下:

      m_width(0.5),

      m_width_abs(0.5),

      m_width_eps(0.5/1024.0),

      m_width_sign(1),

      m_miter_limit(4.0),

      m_inner_miter_limit(1.01),

      m_approx_scale(1.0),

      m_line_cap(butt_cap),

      m_line_join(miter_join),

      m_inner_join(inner_miter)

4)agg::conv_stroke的線段樣式

采用的是實線的渲染方式,是否我們可以通過替換她,描述虛線:agg::conv_dash

結(jié)果發(fā)現(xiàn):什么也沒有渲染出來??!agg::conv_dash會單獨描述?。?/p>

4 例子

ras.reset();

  agg::path_storage ps1;

  ps1.move_to(200,200);

  ps1.line_to(300,300);

  agg::line_cap_e cap = agg::round_cap;//設置線段端點的形狀

  agg::conv_stroke stroke(ps1);//線段的樣式

  stroke.line_cap(cap);

  stroke.width(50);//設置線段的寬度

  ras.add_path(stroke);

agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255,0,0));

5 shorten函數(shù)的用法

1說明

         在conv_stroke和conv_dash對象中添加了縮短路徑的方法。對于渲染帶粗線的箭頭非常有效。同時也有一個agg_conv_shorten_path轉(zhuǎn)換器對象,可以單獨使用。

2示例

m_slider1(80, 250,   600-10,276,   !flip_y)

                add_ctrl(m_slider1);

                m_slider1.range(0,300);

                m_slider1.num_steps(30);

                m_slider1.value(1);

       //一種坍塌式的減少過程

       agg::ellipse ell1(230,230,140,150);

       agg::conv_stroke stroke1(ell1);

       stroke1.width(30);

       stroke1.shorten(m_slider1.value());

       ras.add_path(stroke1);

       //類似于縮短

       agg::path_storage ps;

       ps.move_to(20,30);

       ps.line_to(440,30);

       agg::conv_stroke stroke2(ps);

       stroke2.width(30);

       stroke2.shorten(m_slider1.value());

       ras.add_path(stroke2);

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


名稱欄目:AGG第十課agg::conv_stroke渲染輪廓線-創(chuàng)新互聯(lián)
分享URL:http://weahome.cn/article/ppjgg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部