На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

GIS Designer v.13.1.1.41 Free. Видимость растра

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1
RSS
GIS Designer v.13.1.1.41 Free. Видимость растра, Есть ли возможность с помощью API GisDesigner-а включать/отключать видимость добавленных растров?
 
Здравствуйте!

Разрабатываем ПО с использованием приобретенного GIS Designer v.13.1.1.41 Free for Astra Linux 1.6.

Возник вопрос по возможности управления отображением растровых данных. Есть ли возможность с помощью API GisDesigner-а включать/отключать видимость растра по аналогии с матрицами. В классе QDMapMtr есть public метод void SetMtrView(bool value), но в интерфейсе класса QDMapRst подобных методов не смог найти. В руководстве программиста также нет информации по управлению отображением растра.

Также интересует возможность управлять прозрачностью открытых карт, растров и матриц по аналогии с функционалом стандартного диалога состава данных, так как пишу свой компонент управления составом данных (аналог QDMapDataList, но в формате встраиваемого виджета).
 
Функции управления отображением растров содержаться в rstapi.h.
Например:
Код
  // Запросить/Установить степень видимости растра
  // hMap   - идентификатор открытых данных
  // number - номер файла в цепочке
  // view = 0 - не виден
  // view = 1 - полная видимость
  // view = 2 - насыщенная
  // view = 3 - полупрозрачная
  // view = 4 - средняя
  // view = 5 - прозрачная
  // При ошибке возвращает ноль

_MAPIMP  long int _MAPAPI mapGetRstView(HMAP hMap,long int number);
_MAPIMP  long int _MAPAPI mapSetRstView(HMAP hMap,long int number, long int view);

  // Запросить прозрачность растра 
  // hMap   - идентификатор открытых данных
  // number - номер файла в цепочке
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetRstTransparent(HMAP hMap, long int number);

  // Установить прозрачность растра
  // hMap        - идентификатор открытых данных
  // number      - номер файла в цепочке
  // transparent - прозрачность в процентах от 0 до 100
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetRstTransparent(HMAP hMap, long int number, long int transparent);

  // Установить степень видимости группы растров
  // hMap       - идентификатор открытых данных
  // userLabel  - пользовательская метка растра:
  //                -1             - все растры
  //                RSW_QUALITY    - растры качеств (создаются mtrBuildRasterUn)
  //                RSW_VISIBILITY - растры зон видимости (создаются mapVisibilityZoneUn)
  // view - степень видимости:
  //                0 - не виден
  //                1 - полная
  //                2 - насыщенная
  //                3 - полупрозрачная
  //                4 - средняя
  //                5 - прозрачная
  // При ошибке возвращает 0

_MAPIMP  long int _MAPAPI mapSetRstGroupView(HMAP hMap, long int userLabel, long int view);

  // Запросить яркость палитры растра
  // hMap   - идентификатор открытых данных
  // number - номер файла в цепочке
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetRstBright(HMAP hMap, long int number);

  // Запросить контрастность палитры растра
  // hMap   - идентификатор открытых данных
  // number - номер файла в цепочке
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetRstContrast(HMAP hMap, long int number);

  // Запросить параболическую яркость растра
  // hMap   - идентификатор открытых данных
  // number - номер файла в цепочке
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapGetRstGamma(HMAP hMap, long int number);

  // Установить яркость палитры растра
  // hMap   - идентификатор открытых данных
  // number - номер файла в цепочке
  // bright - яркость
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetRstBright(HMAP hMap, long int bright, long int number);

  // Установить контрастность палитры растра
  // hMap     - идентификатор открытых данных
  // number   - номер файла в цепочке
  // contrast - контраст
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetRstContrast(HMAP hMap, long int contrast, long int number);

  // Установить параболическую яркость растра
  // hMap   - идентификатор открытых данных
  // number - номер файла в цепочке
  // gamma  - параболическая яркость
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetRstGamma(HMAP hMap, long int gamma, long int number);

 
Спасибо!
 
Oleg Belenkov,

Здравствуйте!
Вопрос по следующей функции:
Код
_MAPIMP long int _MAPAPI mapSetRstTransparent(HMAP hMap, long int number, long int transparent);  
При задании параметра transparent от 1 до 100 функция отрабатывает и меняет степень видимости  растра на карте.
При задании transparent = 0 видимость не меняется (растр не скрывается), так должно быть?
Спасибо!
Изменено: Grigoriy Stanavov - 30.11.2020 17:47:23
 
Функции управления отображением растров возвращают 0 и в случае ошибки и в случае если растр не виден, как корректно проанализировать возвращаемое значение и повторить запрос в случае если прозрачность больше 0, а возвращается 0?

И еще пока не совсем понял, степень видимости и прозрачность это один и тот же параметр отображения растров и матриц?
Есть ли возможность изменив степень видимости растра или матрицы включать и отключать отображение слоя с сохранением установленной прозрачности?
 
Цитата
И еще пока не совсем понял, степень видимости и прозрачность это один и тот же параметр отображения растров и матриц?
Добрый день!

За эффекты "степень видимости" и "прозрачность" растра отвечает один параметр в ядре.  
Код
  // Установить степень видимости растра
  // hMap   - идентификатор открытых данных
  // number - номер файла в цепочке
  // view = 0 - не виден
  // view = 1 - полная видимость
  // view = 2 - насыщенная
  // view = 3 - полупрозрачная
  // view = 4 - средняя
  // view = 5 - прозрачная
  // При ошибке возвращает ноль
_MAPIMP  long int _MAPAPI mapSetRstView(HMAP hMap,long int number,
                                        long int view);

_MAPIMP long int _MAPAPI mapSetRstTransparent(HMAP hMap, long int number,
                                              long int transparent);
Значения флага view соответствуют следующим значениям флага transparent:
Код
  // view   transparent   описание
  // 1       100      полная видимость
  // 2       80      насыщенная
  // 3       62      полупрозрачная
  // 4      37      средняя
  // 5      20      прозрачная
Для отключения отображения растра применяйте функцию mapSetRstView с нулем.
 
Цитата
Здравствуйте!
Вопрос по следующей функции:[TABLE][TR][TH]Код[/TH][/TR][TR][TD]_MAPIMP long int _MAPAPI mapSetRstTransparent(HMAP hMap, long int number, long int transparent); [/TD][/TR][/TABLE]При задании параметра transparent от 1 до 100 функция отрабатывает и меняет степень видимости растра на карте.
При задании transparent = 0 видимость не меняется (растр не скрывается), так должно быть?
Спасибо!
При помощи слайдов проиллюстрирую работу функции mapSetRstTransparent в диалоге "Управление палитрой" ГИС Панорама.
На скриншоте 3 при значении прозрачности 5-10 (цена деления 5 единиц) изображение растра уже неразличимо.
На скриншоте 4 при сдвиге ползунка в крайнее левое положение изображение растра полностью отсутствует.







Страницы: 1
Читают тему (гостей: 2)



© КБ Панорама, 1991-2021

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности