Esempio n. 1
0
        private void btnExport_Click(object sender, EventArgs e)
        {
            try
            {
                if (sfdExportMap.ShowDialog() != System.Windows.Forms.DialogResult.Cancel)
                {
                    IExport docExport   = null;
                    string  strSaveFile = string.Concat(sfdExportMap.FileName);

                    int intDpi = Convert.ToInt32(nudDpi.Value);

                    IActiveView docActiveView = pActiveView;

                    //Can add other formats in here H.Koo 071515
                    if (sfdExportMap.FilterIndex == 1)
                    {
                        docExport = new ExportJPEG() as IExport;
                    }
                    else if (sfdExportMap.FilterIndex == 2)
                    {
                        docExport = new ExportPDF() as IExport;
                    }
                    else if (sfdExportMap.FilterIndex == 3)
                    {
                        docExport = new ExportTIFF() as IExport;
                    }
                    else if (sfdExportMap.FilterIndex == 4)
                    {
                        docExport = new ExportBMP() as IExport;
                    }

                    IPrintAndExport docPrintAndExport = new PrintAndExportClass();

                    docExport.ExportFileName = strSaveFile;
                    docPrintAndExport.Export(docActiveView, docExport, intDpi, chkClip.Checked, null);
                    docExport.Cleanup();
                    MessageBox.Show("Complete");
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                frmErrorLog pfrmErrorLog = new frmErrorLog(); pfrmErrorLog.ex = ex; pfrmErrorLog.ShowDialog();
                return;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 导出为图片或PDF
        /// </summary>
        public static void ExportPicPdf(IMapControl3 m_MapControl)
        {
            SaveFileDialog savePrinterFileDialog = new SaveFileDialog();
            savePrinterFileDialog.Title = "打印成图片";
            savePrinterFileDialog.Filter = "BMP图片(*.bmp)|*.bmp|JPG图片(*.jpg)|*.jpg|PDF 文件(*.pdf)|*.pdf|PNG 图片(*.png)|*.png";
            if (savePrinterFileDialog.ShowDialog() == DialogResult.OK)
            {
                IActiveView activeView = m_MapControl.ActiveView;
                if (activeView == null)
                {
                    return;
                }

                IExport export = null;

                switch (savePrinterFileDialog.FilterIndex)
                {
                    case 1://bmp
                        export = new ExportBMP() as IExport;//输出BMP格式图片
                        export.ExportFileName = savePrinterFileDialog.FileName;
                        break;
                    case 2://jpg
                        export = new ExportJPEG() as IExport;//输出JPG格式图片
                        export.ExportFileName = savePrinterFileDialog.FileName;
                        break;
                    case 3://pdf
                        export = new ExportPDF() as IExport;//输出PDF格式文件
                        ((IExportPDF2)export).ExportMeasureInfo = true;
                        ((IExportPDF2)export).ExportPDFLayersAndFeatureAttributes = esriExportPDFLayerOptions.esriExportPDFLayerOptionsLayersAndFeatureAttributes;
                        export.ExportFileName = savePrinterFileDialog.FileName;
                        break;
                    case 4://png
                        export = new ExportPNG() as IExport;//输出PNG格式图片
                        export.ExportFileName = savePrinterFileDialog.FileName;
                        break;
                }

                if (export == null)
                {
                    MessageBox.Show(@"请选择输出路径。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                int ScreenResolution = 96;
                int OutputResolution = 300;
                export.Resolution = OutputResolution;

                tagRECT exportRECT;
                exportRECT.left = 0;
                exportRECT.top = 0;
                exportRECT.right = activeView.ExportFrame.right * (OutputResolution / ScreenResolution);
                exportRECT.bottom = activeView.ExportFrame.bottom * (OutputResolution / ScreenResolution);

                IEnvelope pixelBoundsEnv = new Envelope() as IEnvelope;
                pixelBoundsEnv.PutCoords(exportRECT.left, exportRECT.top, exportRECT.right, exportRECT.bottom);
                export.PixelBounds = pixelBoundsEnv;
                int hDC = export.StartExporting();
                activeView.Output(hDC, (int)export.Resolution, ref exportRECT, null, null);
                export.FinishExporting();
                export.Cleanup();
            }
        }
Esempio n. 3
0
        //导出
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (tbxSavePath.Text.Trim() == "" || !tbxSavePath.Text.Trim().Contains("\\"))
            {
                MessageBox.Show("请选择正确的输出路径!", "提示");
                return;
            }
            IExport pExport = null;

            try
            {
                switch (pSimpleFiletype)
                {
                case "tif":
                    pExport = new ExportTIFF() as IExport;
                    break;

                case "EMF":
                    pExport = new ExportEMF() as IExport;
                    break;

                case "eps":
                    pExport = new ExportPS() as IExport;
                    break;

                case "ai":
                    pExport = new ExportAI() as IExport;
                    break;

                case "pdf":
                    pExport = new ExportPDF() as IExport;
                    break;

                case "svg":
                    pExport = new ExportSVG() as IExport;
                    break;

                case "bmp":
                    pExport = new ExportBMP() as IExport;
                    break;

                case "jpg":
                    pExport = new ExportEMF() as IExport;
                    break;

                case "png":
                    pExport = new ExportPNG() as IExport;
                    break;

                case "gif":
                    pExport = new ExportGIF() as IExport;
                    break;

                default:
                    return;
                }
                pExport.ExportFileName = pSavePath;
                pExport.Resolution     = pResolution;
                tagRECT pTagRECT;
                pTagRECT = pActiveView.ExportFrame;
                IPrintAndExport printAndExport = new PrintAndExport();
                printAndExport.Export(pActiveView, pExport, pResolution, false, null);
                Marshal.ReleaseComObject(pExport);
                MessageBox.Show("导出成功!", "提示");
            }
            catch (COMException ex)
            {
                MessageBox.Show("导出失败\n" + ex.Message, "错误");
                return;
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 导出为图片或PDF
        /// </summary>
        public static void ExportPicPdf(IMapControl3 m_MapControl)
        {
            SaveFileDialog savePrinterFileDialog = new SaveFileDialog();

            savePrinterFileDialog.Title  = "打印成图片";
            savePrinterFileDialog.Filter = "BMP图片(*.bmp)|*.bmp|JPG图片(*.jpg)|*.jpg|PDF 文件(*.pdf)|*.pdf|PNG 图片(*.png)|*.png";
            if (savePrinterFileDialog.ShowDialog() == DialogResult.OK)
            {
                IActiveView activeView = m_MapControl.ActiveView;
                if (activeView == null)
                {
                    return;
                }

                IExport export = null;

                switch (savePrinterFileDialog.FilterIndex)
                {
                case 1:                                  //bmp
                    export = new ExportBMP() as IExport; //输出BMP格式图片
                    export.ExportFileName = savePrinterFileDialog.FileName;
                    break;

                case 2:                                   //jpg
                    export = new ExportJPEG() as IExport; //输出JPG格式图片
                    export.ExportFileName = savePrinterFileDialog.FileName;
                    break;

                case 3:                                  //pdf
                    export = new ExportPDF() as IExport; //输出PDF格式文件
                    ((IExportPDF2)export).ExportMeasureInfo = true;
                    ((IExportPDF2)export).ExportPDFLayersAndFeatureAttributes = esriExportPDFLayerOptions.esriExportPDFLayerOptionsLayersAndFeatureAttributes;
                    export.ExportFileName = savePrinterFileDialog.FileName;
                    break;

                case 4:                                  //png
                    export = new ExportPNG() as IExport; //输出PNG格式图片
                    export.ExportFileName = savePrinterFileDialog.FileName;
                    break;
                }

                if (export == null)
                {
                    MessageBox.Show(@"请选择输出路径。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                int ScreenResolution = 96;
                int OutputResolution = 300;
                export.Resolution = OutputResolution;

                tagRECT exportRECT;
                exportRECT.left   = 0;
                exportRECT.top    = 0;
                exportRECT.right  = activeView.ExportFrame.right * (OutputResolution / ScreenResolution);
                exportRECT.bottom = activeView.ExportFrame.bottom * (OutputResolution / ScreenResolution);

                IEnvelope pixelBoundsEnv = new Envelope() as IEnvelope;
                pixelBoundsEnv.PutCoords(exportRECT.left, exportRECT.top, exportRECT.right, exportRECT.bottom);
                export.PixelBounds = pixelBoundsEnv;
                int hDC = export.StartExporting();
                activeView.Output(hDC, (int)export.Resolution, ref exportRECT, null, null);
                export.FinishExporting();
                export.Cleanup();
            }
        }
Esempio n. 5
0
        private void ExportTool()
        {
            IExport pExport = null;
            //  IExportJPEG pExportFormat;
            IWorldFileSettings pWorldFile = null;
            IExportImage       pExportType;
            IEnvelope          pEnv = new Envelope() as IEnvelope;
            int lResolution;

            lResolution = Convert.ToInt32(this.numericUpDown1.Value);
            switch (this.saveFileDialog1.Filter.ToString().Trim().Substring(0, 3))
            {
            case "jpg":
                pExport = new ExportJPEG() as IExport;
                break;

            case "bmp":
                pExport = new ExportBMP() as IExport;
                break;

            case "gif":
                pExport = new ExportGIF() as IExport;
                break;

            case "tif":
                pExport = new ExportTIFF() as IExport;
                break;

            case "png":
                pExport = new ExportPNG() as IExport;
                break;

            case "emf":
                pExport = new ExportEMF() as IExport;
                break;

            case "pdf":
                pExport = new ExportPDF() as IExport;
                break;

            case ".ai":
                pExport = new ExportAI() as IExport;
                break;

            case "svg":
                pExport = new ExportSVG() as IExport;
                break;

            case "ps":
                pExport = new ExportPS() as IExport;
                break;

            default:
                pExport = new ExportJPEG() as IExport;
                break;
            }

            if (this.textBox1.Text.ToString().Trim() != "")
            {
                if (System.IO.File.Exists(this.textBox1.Text.ToString()) == true)
                {
                    MessageBox.Show("该文件已经存在,请重新命名!");
                    this.textBox1.Text = "";
                    this.textBox1.Focus();
                }
                else
                {
                    pExport.ExportFileName = this.textBox1.Text;
                    pExport.Resolution     = lResolution;
                    pExportType            = pExport as IExportImage;
                    pExportType.ImageType  = esriExportImageType.esriExportImageTypeTrueColor;
                    pEnv                       = pActiveView.Extent;
                    pWorldFile                 = (IWorldFileSettings)pExport;
                    pWorldFile.MapExtent       = pEnv;
                    pWorldFile.OutputWorldFile = false;

                    tagRECT deviceRECT;
                    deviceRECT = Form1.m_mapControl.ActiveView.ScreenDisplay.DisplayTransformation.get_DeviceFrame();

                    IEnvelope pDriverBounds;
                    pDriverBounds = new Envelope() as IEnvelope;
                    pDriverBounds.PutCoords(deviceRECT.left, deviceRECT.bottom, deviceRECT.right, deviceRECT.top);
                    pExport.PixelBounds = pDriverBounds;

                    ITrackCancel pTrackCancel = new TrackCancel();
                    Form1.m_mapControl.ActiveView.Output(pExport.StartExporting(), lResolution, ref deviceRECT, pActiveView.Extent, pTrackCancel);

                    pExport.FinishExporting();
                    MessageBox.Show("打印图片保存成功!", "保存", MessageBoxButtons.OK);
                    this.Close();
                }
            }
            else
            {
                MessageBox.Show("请保存文件!");
            }
        }
Esempio n. 6
0
        public static void ExportActiveView2(IActiveView iactiveView_0, string string_0)
        {
            IExport export = null;
            tagRECT grect;

            switch (System.IO.Path.GetExtension(string_0).ToLower())
            {
            case ".emf":
                export = new ExportEMF() as IExport;
                break;

            case ".eps":
                export = new ExportPS() as IExport;
                break;

            case ".ai":
                export = new ExportAI() as IExport;
                break;

            case ".pdf":
                export = new ExportPDF() as IExport;
                break;

            case ".svg":
                export = new ExportSVG() as IExport;
                break;

            case ".bmp":
                export = new ExportBMP() as IExport;
                break;

            case ".jpg":
                export = new ExportJPEG() as IExport;
                break;

            case ".png":
                export = new ExportPNG() as IExport;
                break;

            case ".tif":
                export = new ExportTIFF() as IExport;
                break;

            case ".gif":
                export = new ExportGIF() as IExport;
                break;

            default:
                return;
            }
            export.ExportFileName = string_0;
            int num2 = 96;
            int num3 = 300;

            try
            {
                export.Resolution = num3;
                if (export is ISettingsInRegistry)
                {
                    (export as ISettingsInRegistry).RestoreDefault();
                }
            }
            catch
            {
            }
            grect.left   = 0;
            grect.top    = 0;
            grect.right  = iactiveView_0.ExportFrame.right * (num3 / num2);
            grect.bottom = iactiveView_0.ExportFrame.bottom * (num3 / num2);
            IEnvelope envelope = new Envelope() as IEnvelope;

            envelope.PutCoords((double)grect.left, (double)grect.top, (double)grect.right, (double)grect.bottom);
            export.PixelBounds = envelope;
            int hDC = export.StartExporting();

            iactiveView_0.Output(hDC, (int)export.Resolution, ref grect, null, null);
            export.FinishExporting();
            export.Cleanup();
        }
Esempio n. 7
0
        private void miOutput_Click(object sender, EventArgs e)
        {
            SaveFileDialog m_save = new SaveFileDialog();

            m_save.Filter = "jpeg图片(*.jpg)|*.jpg|tiff图片(*.tif)|*.tif|bmp图片(*.bmp)|*.bmp|emf图片(*.emf)|*.emf|png图片(*.png)|*.png|gif图片(*.gif)|*.gif";
            m_save.ShowDialog();
            string Outpath = m_save.FileName;

            if (Outpath != "")
            {
                //分辨率
                //double resulotion = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.Resolution;
                double  resulotion = axPageLayoutControl1.ActiveView.ScreenDisplay.DisplayTransformation.Resolution;
                IExport m_export   = null;
                if (Outpath.EndsWith(".jpg"))
                {
                    m_export = new ExportJPEG() as IExport;
                }
                else if (Outpath.EndsWith(".tig"))
                {
                    m_export = new ExportTIFF() as IExport;
                }
                else if (Outpath.EndsWith(".bmp"))
                {
                    m_export = new ExportBMP() as IExport;
                }
                else if (Outpath.EndsWith(".emf"))
                {
                    m_export = new ExportEMF() as IExport;
                }
                else if (Outpath.EndsWith(".png"))
                {
                    m_export = new ExportPNG() as IExport;
                }
                else if (Outpath.EndsWith(".gif"))
                {
                    m_export = new ExportGIF() as IExport;
                }
                //设置输出的路径
                m_export.ExportFileName = Outpath;
                //设置输出的分辨率
                m_export.Resolution = resulotion;
                tagRECT piexPound;
                //piexPound = axMapControl1.ActiveView.ScreenDisplay.DisplayTransformation.get_DeviceFrame();
                piexPound = axPageLayoutControl1.ActiveView.ScreenDisplay.DisplayTransformation.get_DeviceFrame();
                IEnvelope m_envelope = new Envelope() as IEnvelope;
                m_envelope.PutCoords(piexPound.left, piexPound.bottom, piexPound.right, piexPound.top);
                //设置输出的IEnvelope
                m_export.PixelBounds = m_envelope;

                ITrackCancel m_trackCancel = new CancelTracker();
                //输出的方法
                // axMapControl1.ActiveView.Output(m_export.StartExporting(), (short)resulotion, ref piexPound, axMapControl1.ActiveView.Extent, m_trackCancel);
                axPageLayoutControl1.ActiveView.Output(m_export.StartExporting(), (short)resulotion, ref piexPound, axPageLayoutControl1.ActiveView.Extent, m_trackCancel);
                m_export.FinishExporting();
            }
            else
            {
                MessageBox.Show("输出图像名称不能为空!");
            }
        }