ArcObjects: сохранение IRaster с двойными значениями, сопоставленными с цветами - PullRequest
0 голосов
/ 06 ноября 2010

Как сохранить IRaster с двойными значениями в его ячейках, сопоставленных с некоторыми цветами? Например, (-inf; -50] отображается на синий, [+50; + inf) отображается на желтый, другие рассчитываются постепенно.

1 Ответ

0 голосов
/ 21 ноября 2010

Понял: вам нужно сделать один растр для каждой полосы (красный, зеленый и синий) со значениями в диапазоне [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");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...