您如何在映射到某些颜色的单元格中保存用双重值的iraster?例如,(-inf; -50]映射为蓝色,[+50; +inf)映射到黄色,其他地图逐渐计算出来。

有帮助吗?

解决方案

弄清楚:您必须为每个频段(红色,绿色和蓝色)制作一个栅格,其值在范围内[0; 255](每个单元格中的值将使用RGB颜色模型组合)。然后,这些栅栏应通过iBandcollection合并为一个。下面的代码说明:

// Create three rasters
IRaster2 redRaster = ...;
IRaster2 greenRaster = ...;
IRaster2 blueRaster = ...;

// Combine them
IRasterBandCollection bands = (IRasterBandCollection)redRaster; // bands are appended to the red raster
bands.AppendBand(((IRasterBandCollection)greenRaster).Item(0));
bands.AppendBand(((IRasterBandCollection)blueRaster).Item(0));

// Save as JPEG
IWorkspace saveWorkspace = ...;
String fileName = ...;

((ISaveAs2)redRaster).SaveAs(fileName, saveWorkspace, "JPG");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top