AE IRasterCursor 改变栅格图层像素值
1 public void ChangePixelValue(double xMax, double xMin, double yMax, double yMin,double[,] PixelChanged)
2 {
3 IRaster pRaster = thisRasterLayer.Raster;
4 IRaster2 pRaster2 = pRaster as IRaster2;
5
6 //地图坐标转换为图中行列值
7 rowMax = pRaster2.ToPixelRow(yMin);
8 rowMin = pRaster2.ToPixelRow(yMax);
9 columnMin = pRaster2.ToPixelColumn(xMin);
10 columnMax = pRaster2.ToPixelColumn(xMax);
11
12 int Height = rowMax - rowMin + 1;
13 int Width = columnMax - columnMin + 1;
14
15 //按照需要的大小建立一个空的PixelBlock3
16 IPnt blocksize = new PntClass();
17 blocksize.SetCoords(Width, Height);
18
19 IPixelBlock3 pPixelBlock3 = pRaster.CreatePixelBlock(blocksize) as IPixelBlock3;
20
21 System.Array pixels = (System.Array)pPixelBlock3.get_PixelData(0);
22
23 //为新建的PixelBlock赋值
24 try
25 {
26 for (int i = 0; i < Height; i++)
27 {
28 for (int j = 0; j < Width; j++)
29 {
30 pixels.SetValue(Convert.ToByte(PixelChanged[i,j]), j, i);
31 }
32 }
33 }
34 catch (Exception ex)
35 {
36 MessageBox.Show(ex.Message);
37 }
38
39 //把像素值赋予新建的PixelBlock3
40 pPixelBlock3.set_PixelData(0, pixels);
41
42 //PixelBlock3应在的位置
43 blocksize.SetCoords(columnMin, rowMin);
44
45 //改变的像素值写入图层
46 IRasterEdit pRasterEdit = pRaster as IRasterEdit;
47 pRasterEdit.Write(blocksize, (IPixelBlock)pPixelBlock3);
48 pRasterEdit.Refresh();
49
50 System.Runtime.InteropServices.Marshal.ReleaseComObject(pRasterEdit);
51 }
//要保存的图层;
2 IRasterLayer pRasterLayer = axMapControl1.get_Layer(0) as IRasterLayer;
3 IRaster pRaster = pRasterLayer.Raster;
4 IRaster2 pRaster2 = pRaster as IRaster2;
5
6 ISaveAs pSaveAs = pRaster2 as ISaveAs;
7 pSaveAs.SaveAs(@"F:\Work\DEM高程矩阵\DEM高程矩阵\bin\Debug\渲染图层2.tif", null, "TIFF"); 引用地址http://www.bubuko.com/infodetail-156921.html
AE IRasterCursor 改变栅格图层像素值的更多相关文章
- AE IRasterCursor 获取栅格图层像素值
在编写使用栅格图层的代码时,常常要获取栅格图层的像素值(PixelValue).如果想获取某一点的像素值,可以使用IRaster2中的getPixelValue方法.但如果想要获得的是图层中的某一块甚 ...
- AE开发中栅格图层实现分级渲染
GP工具IDW执行后,生成的栅格图层是黑白二色,需要手动进行分级渲染,似乎不是所有栅格图层都可以进行分级渲染,注意异常处理.注意ARCMAP中是有颜色的,无需自己处理. IRasterClassify ...
- iOS图片的伪裁剪(改变图片的像素值)
0x00 原理 利用一张图片事先画好的图片(以下称为蒙板),盖在要被裁剪的的图片上,然后遍历蒙板上的像素点,修改被裁剪图片对应位置的像素的色值即可得到一些我们想要的不规则图片了(比如人脸) 0x01 ...
- (八)WebGIS中栅格图层的设计
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1. 前言 我们在上一章里了解到WebGIS中栅格图层的本质—— ...
- 按照不规则多边形shp文件分割底层栅格文件tif,统计不同栅格的属性值
我想做到,按照voronoi多边形分割地图土地利用类型文件,统计每个多边形内不同地物的种类和数量.-----如图: 我的第一个想法是:首先用上层多边形将下层栅格图切割开来,然后就可以分别统计栅格内的地 ...
- C#+arcengine获得栅格数据的像素值(高程)
此文问获得栅格数据的像元值(即高程),有可能部分见解不到位,望大神看到了不惜指教! /// <summary> /// 得到高程(通过像素值) /// </summ ...
- PIE SDK栅格图层渲染变化事件监听
1. 功能简介 通过PIE SDK加载图层后,会默认的赋值给数据一个渲染.当用户重新给数据赋值Render或改变数据显示效果时,会触发渲染变化事件. 所谓的事件监听是在事件触发时,将执行用户指定的函数 ...
- ArcGIS二次开发之读取遥感图像像素值的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 首先是读取遥感图像的R.G.B波段数据的做法.读取R.G.B波段数据的像素值主要通过IRaster接口的Read方法在 ...
- YUV与像素值之间的关系
一幅彩色图像的基本要素是什么? 说白了,一幅图像包括的基本东西就是二进制数据,其容量大小实质即为二进制数据的多少.一幅1920x1080像素的YUV422的图像,大小是1920X1080X2=4147 ...
随机推荐
- 关于Java中的基本数据类型转换
Java中的基本类型有四种,其中整型分为byte.short.int.long,浮点型分为float.double,字符型char,布尔型boolean.8种类型的级别由低到高byte->sho ...
- toUnsignedString详解
/** * All possible chars for representing a number as a String */ final static char[] digits = { '0' ...
- [BCB] C++ BUILDER 绘图 随机生成图形
由于老师要求要实现一个填充算法,而每次填充都需要一个源图形[不规则],用mspaint自己画太麻烦,于是打算自己动手随机生成. 这里用的是 Polygen()函数,但是注意首尾相接,另外,为了保证规则 ...
- 【Summary】ANSYS TRANSIENT ANALYSIS
1.4. Damping: https://www.sharcnet.ca/Software/Ansys/15.0.7/en-us/help/ans_str/Hlp_G_STR1D.html 8.7. ...
- JSON.parse() 和 JSON.stringify()
JSON.parse()和JSON.stringify() 1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf& ...
- POJ 3311 Hie with the Pie (状压DP)
dp[i][j][k] i代表此层用的状态序号 j上一层用的状态序号 k是层数&1(滚动数组) 标准流程 先预处理出所有合法数据存在status里 然后独立处理第一层 然后根据前一层的max推 ...
- BingHack,Bing旁注API查询工具
现在旁注查询都失效了.通过网上查询发现有人说可以通过微软的API进行旁注查询 https://datamarket.azure.com/dataset/explore/bing/search 注册登录 ...
- IntelliJ IDEA 的 20 个代码自动完成的特性
http://www.oschina.net/question/12_70799 在这篇文章中,我想向您展示 IntelliJ IDEA 中最棒的 20 个代码自动完成的特性,可让 Java 编码变得 ...
- unity 内存中切割图片
一般的说我们切割图片是将一张图片资源切割成更小的图片资源,也就是说在资源上就进行了切割,比如ugui上的切割方法. 如果我们有一些情况比如做拼图,可能让玩家自己选择自己的生活照作为拼图的原图. 那么我 ...
- openjudge 螺旋加密
/*======================================================================== 25:螺旋加密 总时间限制: 1000ms 内存限 ...