GIS内核-Map输出成位图

功能类封装如下:

class MapResource
{
public:
	GsMapPtr ptrMap;
	GsDisplayPtr m_ptrDisplay;
	MapResource()
	{
		GsRect deviceExtent(0, 0, 1136, 749);//创建一个int类型的矩形
		GsMemoryImageCanvasPtr pImgCanvas = new GsMemoryImageCanvas(deviceExtent.Width(), deviceExtent.Height());/// \brief 根据宽和高构建RGBA32位色的画布

		GsDisplayTransformationPtr pDT = new GsDisplayTransformation(GsBox(0, 0, 0, 0), deviceExtent);
		m_ptrDisplay = new GsDisplay(pImgCanvas, pDT);

		ptrMap = new GsMap(NULL);
	}

	

MapResource(const GsBox& boxMap)
	{
		GsRect deviceExtent(0, 0, 1136, 749);//创建一个int类型的矩形
		GsMemoryImageCanvasPtr pImgCanvas = new GsMemoryImageCanvas(deviceExtent.Width(), deviceExtent.Height());/// \brief 根据宽和高构建RGBA32位色的画布

		GsDisplayTransformationPtr pDT = new GsDisplayTransformation(boxMap, deviceExtent);
		m_ptrDisplay = new GsDisplay(pImgCanvas, pDT);

		ptrMap = new GsMap(NULL);
	}
	void Output(const char* strPath)
	{
		ptrMap->Output(m_ptrDisplay, NULL);
		GsMemoryImageCanvas* pImgCanvas = dynamic_cast<GsMemoryImageCanvas*>(m_ptrDisplay->Canvas());
		pImgCanvas->Image()->SavePNG(strPath);
	}

	void MapExtent(const GsBox& box)
	{
		m_ptrDisplay->DisplayTransformation()->MapExtent(box);
	}
};

声明:GIS内核系列最终目的是为了指导二次开发,类似于各种arcgis二次开发文档博客,GIS内核是一个目前公司的核心库,目前这里提供一些示例,并长期记录.
博客任何内容不涉及商业用途.





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值