zoukankan      html  css  js  c++  java
  • arcengine 将地图文件保存为图片(包括各种图片格式)

    1,最近做了个地图文件输出图片的功能,思想主要就是利用MapControl的ActiveView中的out方法:

    2代码如下:欢迎交流指正

     1             SaveFileDialog m_save = new SaveFileDialog();
     2             m_save.Filter = "jpeg图片(*.jpg)|*.jpg|tiff图片(*.tif)|*.tif|bmp图片(*.bmp)|*.bmp|emf图片(*.emf)|*.emf|png图片(*.png)|*.png|gif图片(*.gif)|*.gif";
     3             m_save.ShowDialog();
     4             string Outpath = m_save.FileName;
     5             if (Outpath != "")
     6             {
     7                 //分辨率
     8                 double resulotion = MapControl.ActiveView.ScreenDisplay.DisplayTransformation.Resolution;
     9                 IExport m_export = null;
    10                 if (Outpath.EndsWith(".jpg"))
    11                 {
    12                     m_export = new ExportJPEG() as IExport;
    13 
    14                 }
    15                 else if (Outpath.EndsWith(".tig"))
    16                 {
    17                     m_export = new ExportTIFF() as IExport;
    18 
    19                 }
    20                 else if (Outpath.EndsWith(".bmp"))
    21                 {
    22                     m_export = new ExportBMP() as IExport;
    23 
    24                 }
    25                 else if (Outpath.EndsWith(".emf"))
    26                 {
    27                     m_export = new ExportEMF() as IExport;
    28                 }
    29                 else if (Outpath.EndsWith(".png"))
    30                 {
    31                     m_export = new ExportPNG() as IExport;
    32                 }
    33                 else if (Outpath.EndsWith(".gif"))
    34                 {
    35                     m_export = new ExportGIF() as IExport;
    36                 }
    37                 //设置输出的路径
    38                 m_export.ExportFileName = Outpath;
    39                 //设置输出的分辨率
    40                 m_export.Resolution = resulotion;
    41                 tagRECT piexPound;
    42                 piexPound = MapControl.ActiveView.ScreenDisplay.DisplayTransformation.get_DeviceFrame();
    43                 IEnvelope m_envelope = new Envelope() as IEnvelope;
    44                 m_envelope.PutCoords(piexPound.left, piexPound.bottom, piexPound.right, piexPound.top);
    45                 //设置输出的IEnvelope
    46                 m_export.PixelBounds = m_envelope;
    47 
    48                 ITrackCancel m_trackCancel = new CancelTracker();
    49                 //输出的方法
    50                 MapControl.ActiveView.Output(m_export.StartExporting(), (short)resulotion, ref piexPound, MapControl.ActiveView.Extent, m_trackCancel);
    51                 m_export.FinishExporting();
  • 相关阅读:
    Kafka Streams演示程序
    大全Kafka Streams
    简介Kafka Streams
    初识Kafka
    面试常考各类排序算法总结.(c#)
    php程序员的成长之路
    web前端研发工程师编程能力成长之路
    CentOS 6.6编译安装Nginx1.6.2+MySQL5.6.21+PHP5.6.3
    【转】OkHttp使用进阶 译自OkHttp Github官方教程
    排序算法一:桶排序
  • 原文地址:https://www.cnblogs.com/huchaoheng/p/3579996.html
Copyright © 2011-2022 走看看