PIE-SDK For C++地图显示范围截图

1. 功能介绍

   地图显示范围截图是将当前地图显示的范围进行输出。输出的格式是pngbmp,主要思路就是通过IActiveView接口下的Output()方法进行输出。

2. 功能实现说明

2.1. 实现思路及原理说明

第一步

设置图片导出路径

第二步

设置输出的属性ExportPNG(宽度、高度、导出路径等)

第三步

地图调用OutPut()方法进行输出

2.2. 核心接口与方法

接口/

方法/属性

说明

SysDisplay::DisplayTransformationPtr

GetDeviceFrame

获取设备框架

 

 

SysCarto::ExporterPNGPtr

SetWidth

获取导出的宽度

SetHeight

获取导出的高度

SetExportFileName

设置或获取导出路径

StartExporting

开始导出

FinishExporting

结束导出

2.3. 示例代码

项目路径

百度云盘地址下/PIE示例程序/02.地图操作/04.地显示范围截图

数据路径

百度云盘地址下/PIE示例数据/栅格数据/04.World/World.tif

视频路径

百度云盘地址下/PIE视频教程/02.地图操作/04.地图显示范围截图.avi

示例代码

void PIEMainWindow::On_ActionOutPutImg_Triggered(bool checked)

{

    QString filter = "Raster Files (*.png)";

    QString lstFile = QFileDialog::getSaveFileName(nullptr, "保存数据", "", filter);

    if (lstFile.isEmpty()) return;

    SysDisplay::DisplayTransformationPtr displaytransformation = m_pCurrentControl->GetActiveView()->GetDisplayTransformation();

 

    SysCarto::ExporterPNGPtr expPng = new SysCarto::ExporterPNG();

    expPng->SetDpi(96);

    double width = displaytransformation->GetDeviceFrame().width();

    expPng->SetWidth((int)width);

    double height= displaytransformation->GetDeviceFrame().height();

    expPng->SetHeight((int)height);

    expPng->SetExportFileName(lstFile);

 

    SysCarto::ActiveViewPtr activView = m_pCurrentControl->GetActiveView();

    expPng->StartExporting();

    activView->Output(expPng, activView->GetExtent(), nullptr);

    expPng->FinishExporting();

}

2.4. 示例截图

PIE-SDK For C++地图显示范围截图

原文链接: https://www.cnblogs.com/PIESat/p/12366746.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    PIE-SDK For C++地图显示范围截图

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/332030

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午6:18
下一篇 2023年3月1日 下午6:19

相关推荐