AGG第三十五课 gsv_text 渲染ASCII字符
代碼
? ? 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::gsv_text txt;
? ? agg::conv_stroke<agg::gsv_text> txtStroke(txt);
? ? txtStroke.width(3);
? ? txtStroke.line_cap(agg::square_cap);
? ? txt.flip(true);//Windows下坐標軸是反轉的
? ? txt.size(20);//文字的尺寸
? ? txt.line_space(10);//gsv_text能夠處理\n換行,設置每一行之間的間距
? ? txt.space(10);//字符之間的間距
? ? txt.start_point(100, 300);//文字的起始位置,實際上是有偏差的,需要進行微調
? ? txt.text("http://fengyuzaitu.blog.51cto.com\nhttp://fengyuzaitu.blog.51cto.com");
? ? ras.add_path(txtStroke);
? ? agg::render_scanlines_aa_solid(ras,sl,renb,agg::rgba8(255, 0, 0));
? ? ras.reset();
注意:
1 只支持渲染ASCII字符
2 只能夠橫向字符的渲染
? ? ?本文轉自fengyuzaitu 51CTO博客,原文鏈接:http://blog.51cto.com/fengyuzaitu/1963600,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的AGG第三十五课 gsv_text 渲染ASCII字符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 马哥运维学习作业(二)
- 下一篇: 移动BPM解决方案