栅格

 //Create a raster from the dataset.

                IRaster raster = rasterDataset.CreateFullRaster();



                //Create a pixel block using the weight and height of the raster dataset. 

                //If the raster dataset is large, a smaller pixel block should be used.

                //Refer to the topic "How to access pixel data using a raster cursor".

                IPnt blocksize = new PntClass();

                blocksize.SetCoords(width, height);

                IPixelBlock3 pixelblock = raster.CreatePixelBlock(blocksize) as IPixelBlock3;



                //Populate some pixel values to the pixel block.

                System.Array pixels;

                pixels = (System.Array)pixelblock.get_PixelData(0);



                m_pSeismicIntensityModel.SetPixelBlock(EQCenter.X, EQCenter.Y, magnitude, EQSrcDepth, pLowerLeft.X, pLowerLeft.Y, width, height, xCell, yCell, ref pixels);

         



                pixelblock.set_PixelData(0, (System.Array)pixels);



                //Define the location that the upper left corner of the pixel block is to write.

                IPnt upperLeft = new PntClass();

                upperLeft.SetCoords(0, 0);



                //Write the pixel block.

                IRasterEdit rasterEdit = (IRasterEdit)raster;

                rasterEdit.Write(upperLeft, (IPixelBlock)pixelblock);

                rasterEdit.Refresh();

                GC.Collect();

                //Release rasterEdit explicitly.

                System.Runtime.InteropServices.Marshal.ReleaseComObject(rasterEdit);

 

你可能感兴趣的:(栅格)