agg::rendering_buffer &rbuf = rbuf_window();
agg::pixfmt_bgr24 pixf(rbuf);
typedef agg::renderer_base<agg::pixfmt_bgr24> renderer_base_type;
renderer_base_type renb(pixf);
typedef agg::renderer_scanline_bin_solid<renderer_base_type> renderder_scanline_type;
renderder_scanline_type rensl(renb);
agg::rasterizer_scanline_aa<> ras;
agg::scanline_u8 sl;
ras.reset();
renb.clear(agg::rgba8(255,255,255));
agg::ellipse ell(400, 100, 100, 100);
agg::conv_stroke<agg::ellipse> stroke(ell);
ras.add_path(stroke);
agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255, 0, 0));
ras.reset();
agg::gsv_text txt;
agg::trans_single_path transPath;
transPath.add_path(ell);
agg::gsv_text_outline<agg::trans_single_path> txtOutLine(txt, transPath);
txt.flip(true);
txt.size(10);
txt.start_point(100, -15);
txt.space(5);//字符之間的間距
txt.text("http://fengyuzaitu.blog.51cto.com");
ras.add_path(txtOutLine);
agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255, 0, 0));
ras.reset();
注意:
1 start_point指定的方向不再是真實的屏幕坐標,而是相對于頂點源的起始渲染坐標,當前渲染的橢圓是從橢圓的最右邊的點,順時針開始渲染,第一個參數(shù)可以理解為在渲染的弧線上距離起點多遠的路程之后開始渲染字符,其中trans_single_path提供了total_length計算路徑的長度,可以方便部署每一個字符所在的位置(相對于起點),第二個參數(shù)是指定字符偏離路徑的寬度,正負數(shù)值分別是在內(nèi)測還是外側進行偏離
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)站名稱:AGG第三十六課gsv_text_outline渲染環(huán)繞的字符-創(chuàng)新互聯(lián)
標題URL:http://jinyejixie.com/article8/ccjgop.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、App設計、響應式網(wǎng)站、搜索引擎優(yōu)化、標簽優(yōu)化、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容