Как вы сохраняете IRaster с двойными значениями в своих ячейках, сопоставленных с некоторыми цветами? Например, (-inf; -50] отображается на синий, [+50; + inf) отображается на желтый, другие рассчитываются постепенно.ArcObjects: сохранение IRaster с двойными значениями, отображаемыми в цвета
0
A
ответ
0
Вычислено: вы должны сделать один растровый для каждой полосы (красный, зеленый и синий) со значениями в диапазоне [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");