Как поменять color ramp у layer?

0 голосов
спросил 06 Июль, 06 от DfyeVschschkIn (200 баллов) в категории Программные продукты Esri
День добрый... Вопрос такой, создаю новый layer и добавляю его в список. У всех новосозданных layer-ов палитра получается серая. Как мне ее можно задать, что бы она градировалась от синего к красному?
Вопрос может звучать глупо, просто всего неделю занимаюсь arcobjectom, пока мало, что знаю...


Dim pSliceRaster As IGeoDataset
Dim pSliceLayer As IRasterLayer

Dim pMap As IMap
Set pMap = pMxDocument.FocusMap
...
pSliceLayer.CreateFromRaster pSliceRaster

' поменять палитру?

pMap.AddLayer pSliceLayer




2 Ответы

0 голосов
ответил 10 Июль, 06 от DfyeVschschkIn (200 баллов)
Если в arcmap редакторе вызвать свойство у layera, и перейти во вкладку symbology->strech, то там можно задать палитру, как сделать это программно? Мне нужна гразация от красного к синему... Никто так не делал?
0 голосов
ответил 10 Июль, 06 от DfyeVschschkIn (200 баллов)
Использовал вот такой код...

Dim pMxDoc As IMxDocument
Set pMxDoc = ThisDocument
Dim pMap As IMap
Set pMap = pMxDoc.FocusMap

'Get raster input from layer
Dim pRLayer As IRasterLayer
Set pRLayer = pMap.Layer(0)
Dim pRaster As IRaster
Set pRaster = pRLayer.Raster

'Create renderer and QI RasterRenderer
Dim pStretchRen As IRasterStretchColorRampRenderer
Set pStretchRen = New RasterStretchColorRampRenderer
Dim pRasRen As IRasterRenderer
Set pRasRen = pStretchRen

'Set raster for the renderer and update
Set pRasRen.Raster = pRaster
pRasRen.Update

'Define two colors
Dim pFromColor As IColor
Dim pToColor As IColor
Set pFromColor = New RgbColor
pFromColor.RGB = RGB(255, 0, 0)
Set pToColor = New RgbColor
pToColor.RGB = RGB(0, 255, 0)

'Create color ramp
Dim pRamp As IAlgorithmicColorRamp
Set pRamp = New AlgorithmicColorRamp
pRamp.Size = 255
pRamp.FromColor = pFromColor
pRamp.ToColor = pToColor
pRamp.CreateRamp True

'Plug this colorramp into renderer and select a band
pStretchRen.BandIndex = 0
pStretchRen.ColorRamp = pRamp

'Update the renderer with new settings and plug into layer
pRasRen.Update
Set pRLayer.Renderer = pStretchRen
pMxDoc.ActiveView.Refresh
pMxDoc.UpdateContents

Но результат не очень, получается слишком много
зеленого, процентов 70... как можно уравнять немного цвета,
чтобы была равномерная градация?

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...