Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in C#-Codebeispiele zum Durchlaufen von Rasterdaten mithilfe der IRawPixels-Schnittstelle

Detaillierte Einführung in C#-Codebeispiele zum Durchlaufen von Rasterdaten mithilfe der IRawPixels-Schnittstelle

黄舟
黄舟Original
2017-03-08 11:23:421768Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung der IRawPixels-Schnittstelle zum Durchlaufen von Rasterdaten vorgestellt. Es hat einen sehr guten Referenzwert. Schauen wir uns das unten mit dem Editor an

Die Version von AO ist 10.2 und die Entwicklungssprache ist C#. Die Rasterdatenquelle ist die IRasterDataset-Schnittstelle.

IRasterBandCollection pRasterBandCollection = pRasterDataset as IRasterBandCollection;
IRasterBand pRasterBand = pRasterBandCollection.Item(0);
 IRaster pRaster = (pRasterDataset as IRasterDataset2).CreateFullRaster();
IRawPixels pRawPixels = pRasterBand as IRawPixels;
IRasterProps pRasterProps = pRasterBand as IRasterProps;
int dHeight = pRasterProps.Height;
int dWidth = pRasterProps.Width; 
IPnt pntSize = new PntClass();
pntSize.SetCoords(dHeight, dWidth);
IPnt pPixelBlockOrigin = new PntClass();
pPixelBlockOrigin.SetCoords(0, 0);
IPixelBlock pixelBlock = pRaster.CreatePixelBlock(pntSize);
pRawPixels.Read(pPixelBlockOrigin, pixelBlock);
System.Array arr = (System.Array)(pixelBlock as IPixelBlock3).get_PixelData(0);
for (int i = 0; i < dHeight;i++ ) 
{
 for (int j = 0; j < dWidth; j++) 
 {
   float number = 0;
   float.TryParse(arr.GetValue(i,j).ToString(),out number);     
  }
}

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in C#-Codebeispiele zum Durchlaufen von Rasterdaten mithilfe der IRawPixels-Schnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn