📄 v2i.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 + -