Страница 1 из 1

Как раскрасить графический объект

Добавлено: 09 июн 2010, 12:08
developer195
Доброго дня.
Подскажите неопытному товарищу, пожалуйста.
Если в слое создан графический объект, например, типа точки (Point), как программно задать ему нужный цвет? Если можно, какой-то пример, неважно на каком языке программирования.
Благодарю.

Re: Как раскрасить графический объект

Добавлено: 09 июн 2010, 15:30
Дмитрий Барышников

Код: Выделить всё

  Dim pFeatLyr As IGeoFeatureLayer
  Set pFeatLyr = pMap.Layer(0)

  If (TypeOf pFeatLyr.Renderer Is ISimpleRenderer) Then
    Dim pSimpleRend As ISimpleRenderer
    Set pSimpleRend = pFeatLyr.Renderer
    Dim pSym As ISymbol
    Set pSym = pSimpleRend.Symbol
    Dim pSymMark As ISimpleMarkerSymbol
    pSymMark = pSym
    pSymMark.Color --> ваш цвет
  End If
Где-то так. За подробностями http://edndoc.esri.com/arcobjects/9.2/C ... erview.htm
Может чего и напутал. Если надо могу на C++ дать.

Re: Как раскрасить графический объект

Добавлено: 09 июн 2010, 16:55
developer195
Очень благодарен, только не могу найти слой IGeoFeatureLayer, в котором можно рисовать, Вы могли бы помочь, где найти слой подходящего типа?

Re: Как раскрасить графический объект

Добавлено: 09 июн 2010, 17:03
Дмитрий Барышников
вторая строчка - говорит о том что объект получается из IMap, который, в свою очередь, может быть получен из IAсtiveView или из MxDocument или из IApplication
Подробнее в этих интерфейсах http://edndoc.esri.com/arcobjects/8.3/C ... veView.htm
Только здесь рисовать НЕЛЬЗЯ! Можно раскрасить подгружаемые географические слои. Если нужно рисовать смотрите в сторону IScreenDisplay

Re: Как раскрасить графический объект

Добавлено: 10 июн 2010, 10:53
developer195
>вторая строчка - говорит о том что объект получается из IMap, который, в свою очередь, может быть получен из >IAсtiveView или из MxDocument или из IApplication...
Спасибо Вам, это я понимаю, я имел ввиду: где можно из интернета скачать слой типа IGeoFeatureLayer, чтобы в нём можно было раскрасить точку. Вообще мне нужно сначала нарисовать точку в слое (это у меня получилось, но может Вы по другому делаете), а потом её же и раскрасить. То есть можете помочь со следующим:
1. Как нарисовать и раскрасить точку в слое?
2. Где скачать нужный для этого слой?

Re: Как раскрасить графический объект

Добавлено: 10 июн 2010, 11:38
Дмитрий Барышников
В понимании ArcGIS карта (IMap) состоит из слоев (ILayer). Данные для слоев - шейп файлы (IFeatureClass). Шейп файлы можно взять здесь http://gis-lab.info/qa/geosample.html. Если же нужно свой шейп файл создать и записать в него данные, то это уже другая история. На http://edndoc.esri.com есть несколько примеро как это сделать.
Главное понять что в ArcGIS отображение отделено от данных.

Re: Как раскрасить графический объект

Добавлено: 10 июн 2010, 12:05
developer195
Спасибо Вам огромное !