На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты
АРХИВ ФОРУМА...
здесь вы можете ознакомиться с материалами форума до 08.06.2008

прозрачность цвета

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти  
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1 2 След.
RSS
прозрачность цвета, прошу помощи
нужно добавить растр на карту с использованием прозрачности
растр я на карту добавляю, а прозрачности ненужных элементов добиться не могу (mapSetVisibilityColorInRstFile)

я беру цветной объект, вращаю его, сохраняю в растр и отображаю на карте. в результате мой объект оказывается вписаным в черный прямоугольник, которого быть не должно.

пытался получить цвет из растора, через цвет точки
QPointF pc = pictureToPlane(...)
mapGetRstPlanePointColor(...)
mapSetVisibilityColorInRstFile(...)
нулевой результат, все тот же черный прямоугольник

ЧТО ДЕЛАТЬ?
Мало информации в вопросе.

Есть свойство прозрачности у растра (RSW) и у карты (в версии 10) и есть прозрачные объекты.
Есть не отображаемые цвета у растра (RSW) и набор видимых цветов у растрового знака в классификаторе.
Есть границы отображения у растра (RSW).

Для отображения объектов на карте желательно подготовить объект в классификаторе.
Если Вашу картинку сложно оформить в виде векторного знака, а растровый нужно поворачивать,
то можно подготовить серию растровых знаков для дискретного набора углов поворота.
Применение RSW для каждого знака требует много лишних ресурсов.
попробую объяснить все как есть

у меня есть прямоугольная картинка из qimage или qpixmap не обладающая ни маской ни альфа-каналом
средствами гис я вращаю ее и получаю картинку в форме ромба
эту картинку я сохраняю в файл растр и добавляю на карту
в результате на карту добавляется нужный растр в форме ромба, но он оказывается вписаным в черный прямоугольник

ЧТО НУЖНО СДЕЛАТЬ ИЛИ КАК ЧТОБЫ ОСТАЛСЯ РАСТР В ФОРМЕ РОМБА, А ЧЕРНОГО ПРЯМОУГОЛЬНИКА НЕ БЫЛО

краткий ответ вроде "используй mapSetVisibilityColorInRstFile" не подойдет, хотелось бы что то более развернутое
заранее спасибо
Если форма растра соответствует объекту карты, то в растр можно добавить рамку (для ограничения области видимости растра):

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

_MAPIMP long int _MAPAPI mapSetRstBorder(HMAP hMap,long int number,HOBJ info);

В качестве рамки может быть использован объект карты, имеющий форму ромба.
попробов сегодня mapSetRstBorder

1, создал площадной 4-х точечный без заливки объект прямо на мапе
2, добавил растр на карту
3, использовал mapSetRstBorder(НМар,номер растра, созданый объект)

результат : объект на карте есть, растра на карте нет, вот так все и обстоит
Предположу, что растр у Вас отображается под объектом, поэтому невидим. Воспользуйтесь функцией
// Запросить/Установить порядок отображения растра
// hMap - идентификатор открытой векторной карты
// number - номер растрового файла в цепочке
// (0 - под картой, 1 - над картой)
// При ошибке возвращает 0

_MAPIMP long int _MAPAPI mapSetRstViewOrder(HMAP hMap, long int number,
long int order);
номер mapSetRstViewOrder не прошел
получается еще так, если я первым добавляю на карту объект, то объект виден а растр нет
если первым добавляю растр, то виден растр а объект нет

это какое то уг, что делать
Назовите, пожалуйста название и версию продукта, которым пользуетесь.
Как под qt4 заставить цвет фона быть прозрачным или любой другой заданный мной цвет mapSetTransparentColor() нет в поставке.
Функции mapSetTransparentColor() нет в принципе, есть функции запросить и установить степень прозрачности карты
Код
mapGetSiteTransparent(HMAP hMap,HSITE hSite);
mapSetSiteTransparent(HMAP hMap, HSITE hSite, long int transparent);

В 10 версии для ГИС Конструктор (Qt4) они присутствуют.
Ранее я Вам уже отвечал на данный вопрос ссылка: http://gisweb.ru/forum/messages/forum...ssage20160
Страницы: 1 2 След.
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)


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