先用Qt实现了一个能够实现读取shape文件,并实现平移、放大、缩小的小程序。
读取Shapefile使用的gdal的库,而绘制部分,使用了agg-2.4。(尽管Qt的绘制本身也跨平台,主要是走通不同绘制引擎的实现)
有几个需要注意的:
1、agg绘制在buf中后,在Qt绘制函数里使用QImage image((unsigned char*)buf, rect().width(), rect().height(), QImage::Format_ARGB32);
2、移到linux环境下之后,必须将.pro文件中的LIBS += -lgdal_i改成LIBS += -lgdal。
Windows运行的效果如下:

Linux下运行的效果

本文介绍如何使用Qt、gdal库和agg-2.4绘制库,实现读取Shape文件,并通过QImage在Qt中进行平移、放大、缩小的操作。特别注意在Linux环境下修改.pro文件中的LIBS配置。
3870





