• ArcEngine地图图片输出


    注:outPicture -- Button按钮

        savFileDialog1 -- 保存对话框控件

     

    自带例子位置:

    在ArcGIS安装路径下的Developerkit\SamplesNET\Engine\ExportActiveView\VBNet

    自带的例子比下面的还好

     

    //地图图片输出
            private void outPicture_Click(object sender, EventArgs e)
            {
                saveFileDialog1.Filter = "JPEG(*.jpg)|*.jpg|BMP(*.BMP)|*.bmp|EMF(*.emf)|*.emf|GIF(*.gif)|*.gif|AI(*.ai)|*.ai|PDF(*.pdf)|*.pdf|PNG(*.png)|*.png|EPS(*.eps)|*.eps|SVG(*.svg)|*.svg|TIFF(*.tif)|*.tif";
                saveFileDialog1.Title = "输出地图";
                saveFileDialog1.RestoreDirectory = true;
                saveFileDialog1.FilterIndex = 1;
                saveFileDialog1.ShowDialog();
            }

            private void saveFileDialog1_FileOk(object sender, CancelEventArgs e)
            {
                string fileName = saveFileDialog1.FileName;
                int filterIndex = saveFileDialog1.FilterIndex;
                IActiveView pActiveView = axPageLayoutControl1.ActiveView;
                //ExportPic exportPic = new ExportPic();
                //bool flag = exportPic.ExportMapToImage(pActiveView,fileName,filterIndex);

                bool flag = ExportMapToImage(pActiveView,fileName,filterIndex);
                saveFileDialog1.Dispose();
                if (flag)
                {
                    MessageBox.Show("图片输出成功!", "成功");
                }
                else
                {
                    MessageBox.Show("图片输出失败,请重新生成!", "失败");
                }
            }

           public bool ExportMapToImage(IActiveView pActiveView,string fileName,int filterIndex)
            {
                try
                {
                    IExport pExporter = null;

                    switch (filterIndex)
                    {
                        case 1:
                            pExporter = new ExportJPEGClass();
                            break;
                        case 2:
                            pExporter = new ExportBMPClass();
                            break;
                        case 3:
                            pExporter = new ExportEMFClass();
                            break;
                        case 4:
                            pExporter = new ExportGIFClass();
                            break;
                        case 5:
                            pExporter = new ExportAIClass();
                            break;
                        case 6:
                            pExporter = new ExportPDFClass();
                            break;
                        case 7:
                            pExporter = new ExportPNGClass();
                            break;
                        case 8:
                            pExporter = new ExportPSClass();
                            break;
                        case 9:
                            pExporter = new ExportSVGClass();
                            break;
                        case 10:
                            pExporter = new ExportTIFFClass();
                            break;
                        default:
                            MessageBox.Show("输出格式错误");
                            return false;
                    }

                    IEnvelope pEnvelope = new EnvelopeClass();
                    ITrackCancel pTrackCancel = new CancelTrackerClass();
                    tagRECT ptagRECT;
                    ptagRECT.left = 0;
                    ptagRECT.top = 0;
                    ptagRECT.right = (int)pActiveView.Extent.Width;
                    ptagRECT.bottom = (int)pActiveView.Extent.Height;

                    int pResolution = (int)(pActiveView.ScreenDisplay.DisplayTransformation.Resolution);
                    pEnvelope.PutCoords(ptagRECT.left, ptagRECT.bottom, ptagRECT.right, ptagRECT.top);

                    pExporter.Resolution = pResolution;
                    pExporter.ExportFileName = fileName;
                    pExporter.PixelBounds = pEnvelope;

                    pActiveView.Output(pExporter.StartExporting(), pResolution, ref ptagRECT, pActiveView.Extent, pTrackCancel);
                    pExporter.FinishExporting();

                    //释放资源
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(pExporter);
                    return true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "输出图片", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return false;
                }
            }

  • 相关阅读:
    雅虎、网易ajax标签导航效果的实现
    仿淘宝网站的导航标签效果!
    FLASH2007展望
    "运行代码”功能整理发布
    获取远程文件保存为本地文件(精简实用)
    整理JS+FLASH幻灯片播放图片脚本代码
    解决IE更新对FLASH产生影响
    模仿combox(select)控件
    0209.Domino R8.0.x升级指南
    Lotus Domino 中的高级 SMTP 设置Notes.ini相关参数
  • 原文地址:https://www.cnblogs.com/wangzihao/p/1832731.html
Copyright © 2020-2023  润新知