1.源码下载:http://www.antigrain.com/download/index.html 这里我们下载最新版本agg2.5
2.打开VS2013,新建一个空项目,将下载的agg源码包解压,拷贝以下cpp到VS2013的工程中:
./src/ 目录下所有cpp文件【核心库】*
./src/ctrl/ 目录下所有cpp文件【控件库】*
./src/platform/ 下对应平台目录(win32)下的所有cpp文件【平台支持库】*
./font_freetype/ 下所有的cpp文件【Freetype字体支持库】
./font_win32_tt/ 下所有的cpp文件【Truetype字体支持库】*
./gpc/ 下所有的cpp文件【Generic Polygon Clipper裁切库】
完成大概是这样子的:
3.将./include文件加拷贝到VS2013工程目录中,并在项目包含目录中设置为包含目录
4.设置VS2013编译器,win32平台,多字节字符集,使用静态库。
5.编译,会出现找不到ft2build.h头文件。所以,去下载freetype字体库:
https://sourceforge.net/projects/freetype/files/freetype2/2.7.1/
下载好之后,将解压后的文件夹下include文件夹中的一个文件夹和一个.h文件拷贝到刚才配置的agg的include文件夹中,如下图所示:
下面编写测试代码:
转自:http://www.cppblog.com/Shihira/archive/2012/07/24/183033.aspx
#include <agg_pixfmt_rgb.h>
#include <agg_renderer_base.h>
#include <platform/agg_platform_support.h>
#pragma comment( lib, "AGG.lib")
class the_application:public agg::platform_support
{
public:
the_application(agg::pix_format_e format, bool flip_y) :
agg::platform_support(format, flip_y),
pix_fmt(rbuf_window()),
ren_bas(pix_fmt)//初始化渲染器
{}
virtual void on_draw()
{
ren_bas.reset_clipping(true);
ren_bas.clear(agg::rgba(204, 204, 204));
}
private:
agg::pixfmt_rgb24 pix_fmt;
agg::renderer_base<agg::pixfmt_rgb24> ren_bas;
};
int agg_main(int argc, char* argv[])
//int main(int argc, char* argv[])
{
the_application app(agg::pix_format_bgr24, false);
app.caption("hello");
if (app.init(600, 400, agg::window_resize))
{
return app.run();
}
return -1;
}
编译,出错了。
打开agg_platform_support.cpp可以看到,原来main函数已经在里面定义了,我们在外面直接定义agg_main就可以了。
所以,修改上面的main为agg_main,编译。如果还有错的话,可能需要修改VS以下设置:
ok,至此,你应该可以看到一个黑乎乎的窗口。