最近由于工作需要,要实现一个简单的gis系统。要求能够显示同一区域的多种分辨率的地图。由于图片有大有小,当图片很大的时候如果将整张图片读入内存,将会消耗大量的内存,效率不高。所以考虑将大的图片切割成小块保存,根据显示时候的需要调用指定区域的图片,拼接起来显示。
下面是我切割图片的代码;仅供参考,希望能对大家有所帮助
BMPSpliter.h
1
// BMPSpliter.h: interface for the BMPSpliter class.
2
//
3
2
3
BMPSpliter.cpp
1
// BMPSpliter.cpp: implementation of the BMPSpliter class.
2
//
3
2
3
一个简单例子:
1
BMPSpliter spliter;
2
spliter.ReadFile("map\\Source.bmp");
3
spliter.SetDestDirectory("splitResult");
4
spliter.SetStartNumber(16);
5
spliter.Split(256,256);
2
3
4
5