绘制矩形需要用到橡皮条工具 RubberBand
ESRI.ArcGIS.Display.IScreenDisplay screenDisplay = activeView.ScreenDisplay;
// Constant.
screenDisplay.StartDrawing(screenDisplay.hDC, (System.Int16)
ESRI.ArcGIS.Display.esriScreenCache.esriNoScreenCache); // Explicit cast.
ESRI.ArcGIS.Display.IRgbColor rgbColor = new
ESRI.ArcGIS.Display.RgbColorClass();
rgbColor.Red = 255;
ESRI.ArcGIS.Display.IColor color = rgbColor; // Implicit cast.
ESRI.ArcGIS.Display.ISimpleFillSymbol simpleFillSymbol = new
ESRI.ArcGIS.Display.SimpleFillSymbolClass();
simpleFillSymbol.Color = color;
ESRI.ArcGIS.Display.ISymbol symbol = simpleFillSymbol as
ESRI.ArcGIS.Display.ISymbol; // Dynamic cast.
ESRI.ArcGIS.Display.IRubberBand rubberBand = new
ESRI.ArcGIS.Display.RubberEnvelopeClass();
ESRI.ArcGIS.Geometry.IGeometry geometry = rubberBand.TrackNew(screenDisplay,
symbol);
screenDisplay.SetSymbol(symbol);
screenDisplay.DrawRectangle(geometry as ESRI.ArcGIS.Geometry.IEnvelope);
// Dynamic cast.
screenDisplay.FinishDrawing();
裁切代码如下,其中envelope是RubberBand工具产生的IGeometry
String tempDirName = @"E:\tmp\ttt\bar";
String tempFileName = Guid.NewGuid().ToString() + ".tif";
String tempFullName = tempDirName + @"\" + tempFileName;
ILayer pLayer = axMapControl1.get_Layer(0);
IRasterLayer rasterLayer = (IRasterLayer)pLayer;
IRaster pRaster = rasterLayer.Raster;
//Initialize the Clip tool class.
Clip clip = new Clip();
//Set the parameters.
clip.in_raster = pRaster;
clip.out_raster = tempFullName;
//The clipping envelope.
//Comment this line out if clipping with a given dataset.
clip.rectangle = String.Format("{0} {1} {2} {3}", envelope.XMin, envelope.YMin, envelope.XMax, envelope.YMax);
//Initialize the geoprocessor and execute the Clip tool.
Geoprocessor geoprocessor = new Geoprocessor();
object outRaster = geoprocessor.Execute(clip, null);
一开始尝试使用RasterLayerExport导出特定区域的栅格,结果发现原来float型的值成了int
api上信誓旦旦说
引用
The RasterLayer property is used to set the input RasterLayer to the RasterLayerExport object; this is a required property. Normally, a raster layer is associated with a raster renderer by default. You can change the raster renderer to what you need. If you don't want to use the raster renderer to filter the pixel values during the export, remove the raster renderer from the raster layer before passing it to the RasterLayerExport object
呵呵,怎么remove the raster renderer啊,也不说清楚...差评
分享到:
相关推荐
ArcGIS Engine C# 开发教程
能够让初学者使用C#结合arcgis engine实现arcmap功能的二次开发,实现界面的搭建、属性表的构建、符号设计器的设计、鹰眼的实现、右键菜单栏的创建等功能。
ArcGIS Engine C#实例开发教程.zip
详细介绍了如何在ArcGIS Engine开发中加载MDB中的数据, 带有C#开发的代码
本压缩包包含了初学ArcGIS Engine(语言工具:C#)的基本学习课件,具体包括以下文件: 1.ArcGIS全套及下载地址.doc——简要介绍了ArcGIS所用到的软件,并给出了具体的下载地址; 2.ArcGIS Engine开发入门介绍.pdf...
本压缩包包含了初学ArcGIS Engine(语言工具:C#)的基本学习课件,具体包括以下文件: 1.ArcGIS全套及下载地址.doc——简要介绍了ArcGIS所用到的软件,并给出了具体的下载地址; 2.ArcGIS Engine开发入门介绍.pdf...
ArcGIS Engine + C# 实例开发教程
本文介绍ArcGIS Engine10+C#实现通视分析的实现方法
对.net语言的基本介绍 包括常用关键字 及一些基本语法
ArcGIS_Engine_C#_实例开发教程
arcgis engine开发详解,全面介绍arcgis engine模块功能
ArcGIS Engine和C#开发GIS系统的入门实例,通俗易懂。
C# + ARCGis二次开发基础教程,适合初学者学习!
Arcgis engine 9.3 中文环境 新鲜出炉 用AE9.3开发的程序,由于客户要求中文,我用了许多AE 中的很多bean(比如toolbarbean),发布后是英文的。 于是百度,Google,搜AE9.3 中文环境,找了一下午都没有找到。 ...
ArcGIS Engine C#,按纸张打印地图代码
ArcGIS+Engine+C#实例开发教程.pdf
本压缩包包含了初学ArcGIS Engine(语言工具:C#)的基本学习课件,具体包括以下文件: 1.ArcGIS全套及下载地址.doc——简要介绍了ArcGIS所用到的软件,并给出了具体的下载地址; 2.ArcGIS Engine开发入门介绍.pdf...
《ArcGIS Engine+C#实例开发教程》源码
ArcGIS Engine+C#实例开发教程 源码 这个是官方提供的源码 这本教材本身很经典 是初学者的“菜鸟宝典”!