AGG绘图库编译方法

今天在同事的推荐下,下载了AGG的源代码进行编译,AGG在GIS系统中经常用到,比如mapguide,mapnik等用到了AGG。现在很多导航公司也使用AGG作为地图绘制的引擎。

这个引擎绘制出来的效果非常好,据说还可以反锯齿。抱着好奇的心态就试了一下。

   1、下载源码,去http://www.antigrain.com/download/index.html就可以下载源码包。

2、在VS2008下新建一个win32 静态库工程,加入源码。主要包括一下目录的文件:

  1. ./src/ 目录下所有cpp文件【核心库】*
  2. ./src/ctrl/ 目录下所有cpp文件【控件库】*
  3. ./src/platform/ 下对应平台目录(win32)下的所有cpp文件【平台支持库】*
  4. ./font_freetype/ 下所有的cpp文件【Freetype字体支持库】
  5. ./font_win32_tt/ 下所有的cpp文件【Truetype字体支持库】*
  6. ./gpc/ 下所有的cpp文件【Generic Polygon Clipper裁切库】
3、设置工程的头文件目录,主要包括:

    1. ./include/ *
    2. ./font_freetype/
    3. ./font_win32_tt/ *
    4. ./gpc/
3、编译生成AGG.lib库文件。

4、这么好的东西当然要看一下效果啦,新建一个测试工程。代码如下:
#include "agg_rendering_buffer.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)
	{
		//
	}

	virtual void on_draw()
	{
		agg::rendering_buffer &rbuf = rbuf_window();
	}
};

int agg_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;
}

运行出来后就是一个灰色的窗口,宽600像素,高400的一个窗口,这个只是简单尝试,希望以后能用到GIS或者遥感软件的渲染引擎中。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值