溫馨提示×

溫馨提示×

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

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

AGG第三十九課 rasterizer_scanline_aa畫線函數(shù)疑惑

發(fā)布時間:2020-08-23 19:35:51 來源:網(wǎng)絡(luò) 閱讀:527 作者:fengyuzaitu 欄目:系統(tǒng)運維

頭文件

#include<agg_rasterizer_scanline_aa.h>

類型

template<class Clip =rasterizer_sl_clip_int>

class rasterizer_scanline_aa

成員函數(shù)

void add_path(VertexSource&vs,unsigned path_id=0)加入頂點源

void reset() 清空上一次的渲染緩存數(shù)據(jù),每次調(diào)用add_path函數(shù)之前都需要執(zhí)行該操作

其中也提供了簡單的畫線功能,但是實際上并沒有生效,所以需要知道整個操作流程是如何執(zhí)行的!!

void move_to(int x, int y);

void line_to(int x, int y);

如下是一個簡單的使用rasterizer_scanline_aa的例子,并沒有任何的效果

使用rasterizer_scanline_aa畫線是不可能的,但是可以通過move_to_d和line_to_d的配合

使用,構(gòu)建一個封閉的多邊形,渲染出來的就是一個填充的多邊形

代碼如下:


    ras.reset();

    /*

    agg::path_storage ps1;

    ps1.move_to(200,200);

    ps1.line_to(400,200);

 

    agg::line_cap_e cap = agg::square_cap;

    agg::conv_stroke<agg::path_storage> stroke(ps1);

    stroke.line_cap(cap);

    stroke.width(50);

    ras.add_path(stroke);

    */

    //下面代碼主要是測試rasterizer_scanline_aa如何畫線,目前暫時無法實現(xiàn)

    ras.move_to(400,400);

    ras.line_to(500,500);

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

    ras.reset();

該例子是在已有的基礎(chǔ)上進(jìn)行測試的,不過有一點是可以肯定的,ras的連線函數(shù)之后,并沒有指定渲染線段的樣式,誰知道應(yīng)該花虛線,還是實線。


摘自:http://www.360doc.com/content/11/1015/09/992979_156311972.shtml

頭文件

#include <agg_rasterizer_scanline_aa.h>

 

主要記錄兩個畫線的方法

void move_to(int x, int y) 簡單的畫線功能,單位為1/poly_subpixel_scale

void line_to(int x, int y)   (poly_subpixel_scale一般為256)

void move_to_d(double x , double y) 簡單的畫線功能,單位為像素

void line_to_d(double x , double y)

 

現(xiàn)在的一個疑問:可以使用下面的_d版本畫線,但是上面兩個版本應(yīng)該如何組合使用,尤其是這么細(xì)的線段如何查看??!


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI