代码实现IMapcontrol当前视图输出为图片功能

 1 SaveFileDialog dialog = new SaveFileDialog();
 2             dialog.Title = "保存输出图片";
 3             dialog.Filter = "JPG文件(*.jpg)|*.jpg|BMP文件(*.bmp)|*.bmp||";
 4             if (dialog.ShowDialog() == DialogResult.OK)
 5             {
 6                 tagRECT grect;
 7                 string str = System.IO.Path.GetExtension(dialog.FileName).ToLower();
 8                 IExport export = null;
 9                 if (str == ".jpg")
10                 {
11                     export = new ExportJPEGClass();
12                 }
13                 else
14                 {
15                     export = new ExportBMPClass();
16                 }
17                 export.ExportFileName = dialog.FileName;
18                 int num = 0x60;
19                 int num2 = 300;
20                 export.Resolution = num2;
21                 grect.left = 0;
22                 grect.top = 0;
23                 tagRECT deviceFrame = this.m_pMapControl.ActiveView.ScreenDisplay.DisplayTransformation.get_DeviceFrame();//.DeviceFrame;
24                 grect.right = (int) (((deviceFrame.right - deviceFrame.left) * num2) / ((double) num));
25                 grect.bottom = (int) (((deviceFrame.bottom - deviceFrame.top) * num2) / ((double) num));
26                 IEnvelope envelope = new EnvelopeClass();
27                 envelope.PutCoords((double) grect.left, (double) grect.top, (double) grect.right, (double) grect.bottom);
28                 export.PixelBounds = envelope;
29                 int hdc = export.StartExporting();
30                 double resolution = export.Resolution;
31                 this.m_pMapControl.ActiveView.Output(hdc, (int) resolution, ref grect, null, null);
32                 export.FinishExporting();
33                 export.Cleanup();
34             }
View Code

 

posted @ 2013-08-28 14:01  寻梦放歌  阅读(456)  评论(0编辑  收藏  举报