⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 v2i.cs

📁 Converting vector to image by using ArcObjects
💻 CS
字号:
using System;
using System.Runtime.InteropServices;
using System.Drawing;
using ESRI.ArcGIS.Utility.BaseClasses;
using ESRI.ArcGIS.Utility.CATIDs;
using ESRI.ArcGIS.Framework;
using ESRI.ArcGIS.ArcMapUI;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Output;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.esriSystem;


namespace Vector2Image
{
	/// <summary>
	/// Summary description for V2I.
	/// </summary>
	[ClassInterface(ClassInterfaceType.None)] 
	[Guid("067B7CE5-BF5E-4976-B2CA-B694A09920B3")]
	public sealed class V2I :BaseCommand
	{
		private IApplication m_App;
#region Component Category Registration
  
		[ComRegisterFunction()]
		[ComVisible(false)]
		static void RegisterFunction(String regKey)
		{
			MxCommands.Register(regKey);
		}
  
		[ComUnregisterFunction()]
		[ComVisible(false)]
		static void UnregisterFunction(String regKey)
		{
			MxCommands.Unregister(regKey);
		}
  
#endregion#
		public V2I()
		{
			base.m_caption = "Vector2Image";
			base.m_category = "Fares";
			base.m_message = "Exporting Vector data into Image ";
			base.m_name="Vector2Image";
			base.m_toolTip="Exporting Vector to Image";			
			string[] res = GetType().Assembly.GetManifestResourceNames();
			if (res.GetLength(0) > 0)
			{
				base.m_bitmap = new System.Drawing.Bitmap(GetType().Assembly.GetManifestResourceStream(res[0]));
			}
		}
		public override void OnCreate(object hook)
		{
			if (hook != null) {
				if (hook is IApplication) {
					m_App = (IApplication) hook;
				}
			}
		}
		public override void OnClick()
		{
			IMxDocument pMxDoc = (IMxDocument) m_App.Document;
			IMap pMap = (IMap) pMxDoc.FocusMap;
			//IFeatureLayer pLayer = (IFeatureLayer) pMap.get_Layer(0);
			IActiveView pActiveView = (IActiveView) pMxDoc.ActiveView;
			IExport pExport = new ExportJPEGClass();
			string filePath;
			filePath = @"c:\ExportTest1.jpg";
			pExport.ExportFileName = filePath;						
			pExport.Resolution = 96;
			
			IDisplayTransformation pDT = pActiveView.ScreenDisplay.DisplayTransformation as IDisplayTransformation;
			ESRI.ArcGIS.Display.tagRECT exportRectangle = new ESRI.ArcGIS.Display.tagRECT();
			
			exportRectangle = pDT.get_DeviceFrame();			

			IEnvelope pPixelBoundsEnv = new EnvelopeClass();
			pPixelBoundsEnv.PutCoords(exportRectangle.left,exportRectangle.bottom,exportRectangle.right,exportRectangle.top);
			pExport.PixelBounds = pPixelBoundsEnv;

			long hDC;
			hDC = pExport.StartExporting();
			
			IEnvelope pEnvelop;
			pEnvelop = null;
		    ITrackCancel pTrack;
			pTrack = null;

			pActiveView.Output(((int)hDC),((int)pExport.Resolution),ref exportRectangle,pEnvelop,pTrack);
			pExport.FinishExporting();
            pExport.Cleanup();
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -