Здравствуйте. Отображаем пиктограммы объектов классификатора с помощью mapPaintExampleObjectByFuncToXImage() как разбиралось в этой теме. С переходом на AstraLinux 1.6 на Конструкторе 12.6.0.190 (у нас куплена Free версия) появились проблемы с цветом отображаемых образцов объектов классификатора - вместо белого цвета везде серый, остальные цвета тоже выглядят совсем иначе,как будто с примесью серого. На картинке видно. Пробовали Конструктор 12.6.1 - результат такой же. На AstraLinux 1.5 Конструктор 12.6.1 все работает отлично.
Не могли бы Вы, пожалуйста, предоставить используемый классификатор и указать объект на котором воспроизводится данная проблема? Данные можно прислать на электронную почту panorama@gisinfo.ru
Здравствуйте. Проблема наблюдается на всех классификаторах и на всех объектах, которые я попробовал, для примера можно взять road25.rsc из состава ГИС Конструктор 12.6.0.190 (взял из /usr/share/gisdesigner/...). Пиктограммы всех его объектов выглядят подобным образом - вот так отображается часть объектов road25.rsc - ссылка.
На картинке по ссылке в каждой ячейке таблицы - кнопка с натянутой на нее пиктограммой объекта. Видно, что объекты рисуются на сером фоне с блеклыми цветами.
Здравствуйте. Запустил ваш пример - все нормально.
Первоначально проверял в условиях, когда открыта map-карта, создается sit с целевым классификатором и для него уже формируются пиктограммы.
Как выяснилось, ключевое отличие состоит в том, что к моменту формирования пиктограмм у меня всегда есть открытая map-карта. Оказывается, теперь (в новых версиях ГИС Конструктор ) в формируемых картинках учитываются уровни яркости и контрастности изображения основной карты. Отсюда вытекает вопрос: помимо установки глобального контраста/яркости на всю карту, могу ли я как-то точечно повлиять на цвет формируемых пиктограмм?
Уточните, пожалуйста, что означает открытая map-карта? Т.е. Вы при формировании картинок передаете mapHandle отдельно открытого sit, но при этом у Вас уже открыта карта map? Или Вы добавляете sit к map, после чего пытаетесь формировать картинки?
Просто в логике mapapi заложено, что HMAP(mapHandle) это идентификатор документа, который может состоять из нескольких карт/растров/матриц. Например, прозрачность можно задавать для каждой карты/растра/матрицы, чтобы можно было ее оттенить. А контрастность/яркость применяется ко всему документу для калибровки выводимого изображения. В вызове функции mapPaintExampleObjectByFuncToXImage Вы передаете палитру, на основе которой должно выполняться отображение объекта. Поэтому если Вы в ней измените цвет, то знак должен отображаться по-другому.
Так же, как обходной вариант можно рассмотреть сброс параметров яркости/контрастности на время формирования знаков с последующим восстановлением.
Открытая map-карта это документ, состоящий из нескольких карт/растров/матриц. Для получения картинок добавляю sit к map.
Цитата
Vladimir Letov написал: сброс параметров яркости/контрастности на время
Пока так и сделал, все отлично.
Теперь логика формирования значков стало понятней, нас запутал тот факт, что на более ранних версиях Конструктора код работал без учета яркости/контрастности, соответственно никто и не задумывался о таких материях.