arcengine는 지도 파일을 그림으로 저장합니다. (각종 그림 형식 포함)

8407 단어 ArcEngine
1. 최근에 지도 파일로 그림을 출력하는 기능을 했는데 주로 Map Control의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();

좋은 웹페이지 즐겨찾기