使用AGG绘制字符方式有很多种:
- 使用AGG自带的 gsv_text 对象;
- 使用 WinAPI 字体引擎;
- 使用 FreeType 字体引擎;
- 使用字体缓存管理器。
首先,我们使用自带的gsv_text对象,在rastser方式下绘制字符。样例代码如下:
#include <agg_pixfmt_rgba.h>
#include <agg_rasterizer_scanline_aa.h>
#include <agg_scanline_p.h>
#include <agg_gsv_text.h>
#include <agg_rendering_buffer.h>
#include <agg_basics.h>
#include <platform/agg_platform_support.h>
class the_application : public agg::platform_support
{
public:
the_application(agg::pix_format_e format, bool flip_y):
agg::platform_support(format,flip_y)
{}
virtual ~the_application()
{
}
virtual void on_init(){}
virtual void on_draw()
{
agg::rasterizer_scanline_aa<> ras;
agg::scanline_p8 sl;
agg::rendering_buffer rbuf = this->rbuf_window();
agg::pixfmt_rgba32 pixf(rbuf);
agg::renderer_base&