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

Дмитрий Григорьев (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Дмитрий Григорьев
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
не отображается цвет объекта, не применяется новое значение цвета (семантика 31002) в Qt Designer 10.7.5, Qt4, Ubuntu 10.04
 
Спасибо за информацию. Будем решать задачу по другому.
не отображается цвет объекта, не применяется новое значение цвета (семантика 31002) в Qt Designer 10.7.5, Qt4, Ubuntu 10.04
 
Здравствуйте. Возникла похожая проблема.
Работаю с ГИС Конструктором версия 10 (а именно с API функциями) в МСВС 3.0.

Проблема с окраской объекта в заданный цвет.
Создаю объект и назначаю цвета через семантику, но ничего не происходит, при последующем запросе значения из семантики видно, что цвет назначен.
Хотел бы знать есть ли вообще возможность изменения цвета через семантику в данной версии, если да, как это можно сделать.
Настройка отображения матрицы качеств, Частичное отображение и полупрозрачность в "ГИС Конструктор для ПС Конструктора" под МСВС 3.0
 
Пробовал различные вариации установки диапазона.
mapSetMtqShowRange(hm, 1,-100.0, 200.0);
mapSetMtqShowRange(hm, 1,-90.0, 0.0);
mapSetMtqShowRange(hm, 1,-90.0, -80.0);
разница только в окрашивании цветом диапазона 0 все что меньше границы min.
mapSetMtqShowRange(hm, 1,-90.0, -100.0);
все что меньше границы min окрашивается цветом диапазона 0, а все что больше границы min окрашивается цветом диапазона 9.

Вопрос о прозрачности так же не решен.
Настройка отображения матрицы качеств, Частичное отображение и полупрозрачность в "ГИС Конструктор для ПС Конструктора" под МСВС 3.0
 
Спасибо за ответ.
Палитру отображения матрицы выбрал дискретную для каждого из диапазона.
Возникла проблема с отображением матрицы:
- все что не входит в назначенный диапазон окрашивается цветам нулевого диапазона(белый цвет в результате);
- прозрачность не включилась.
Может я что-то делаю не правильно?
скрытие не нужного решилось просто не внесением значения в матрицу.

Пример текста программы:
[CODE] ...
BUILDMTW parm;
MTRPROJECTIONDATA proj;

COLORREF palette[10];
double Diapason[10]; //настройка палитры матрицы

palette[0]=RGB(255, 255, 255);
palette[1]=RGB(255, 0, 255);
palette[2]=RGB(235, 0, 235);
palette[3]=RGB(215, 0, 215);
palette[4]=RGB(195, 0, 195);
palette[5]=RGB(175, 0, 175);
palette[6]=RGB(155, 0, 155);
palette[7]=RGB(135, 0, 135);
palette[8]=RGB(115, 0, 115);
palette[9]=RGB(95, 0, 95);


Diapason[0]=-200;
Diapason[1]=-130;
Diapason[2]=-120;
Diapason[3]=-115;
Diapason[4]=-110;
Diapason[5]=-105;
Diapason[6]=-100;
Diapason[7]=-90;
Diapason[8]=-80;
Diapason[9]=-0;


memset(&parm, 0, sizeof(BUILDMTW));
parm.StructSize=sizeof(BUILDMTW);
parm.BeginX=X1-Radius;
parm.BeginY=Y1-Radius;
parm.Width=Radius*2;
parm.Height=Radius*2;
parm.ElemSizeMeters=Step;
parm.ElemSizeBytes=8;
parm.Scale=100000;

HMAP hm=mapCreateMtq("/*путь к матрице*/", &parm, 0, palette, 10);
if(hm==0)
{
QMessageBox::warning( this, tr("Внимание"),tr("Ошибка создания матрицы"), tr("Выход"), 0, 0, 1 );
return;
}

double x, y;
double BegX, BegY;
double EndX, EndY;
double Elem;
double Value=1.0;

Elem=parm.ElemSizeMeters;
BegX=parm.BeginX;
BegY=parm.BeginY;
EndX=parm.BeginX+parm.Height;
EndY=parm.BeginY+parm.Width;

for(x=BegX; x<=EndX; x+=Elem)
{
for(y=BegY; y<=EndY; y+=Elem)
{
...

if(R<Radius) //Значения не входящие в радиус не записываются
{
...
if(l>Diap) //Значения не удовлетворяющие условию не записываются
{
mapPutMtqValue(hm, 1, x, y, l);
}
}
}
}

mapSetMtqShowRange(hm, 1,-100.0, 200.0);
mapSetMtqPalette(hm, palette, 10, 1);
mapSetMtqPaletteDiapason(hm, Diapason, 10, 1);
mapSetMtrView(hm, 1, 5);

mapSaveMtqPalette(hm, palette, 10, 1);

mapCloseMtq(hm);

...

//подключение матрицы к QDMapView
...
int num;
QDMapView *View;
QDMapMtrs *mtq;
...
num=View->VarMapMtrs->Append(“/*путь к матрице*/”);
mtq=View->VarMapMtrs->GetMapMtrs(num);
mtq->SetMtrViewOrder(1); //отображать над картой
mtq->SetMtrView(TRUE);
...
[/CODE]
Результат:
http://i52.fastpic.ru/big/2012/1211/cd/6fcb776dcd2105e7738375ed0a5ed7cd.png
Изменено: Дмитрий Григорьев - 12.12.2012 09:40:06
Настройка отображения матрицы качеств, Частичное отображение и полупрозрачность в "ГИС Конструктор для ПС Конструктора" под МСВС 3.0
 
Здравствуйте уважаемые разработчики!
Необходимо отобразить на карте матрицу качеств, содержащую в себе ослабления энергетического состояния радиосигнала в каждой точке вокруг объекта (зону радиопокрытия).

[I]Требования к отображению:
-вывод на экран только определенные состояния, подкрашенные определенным цветом;
-вывод на экран поверх карты в полупрозрачном режиме. [/I]

Матрица и палитра окраски создаются по средствам функций MAPAPI. После чего название созданной матрицы отправляется в QDMapView. На каком этапе необходимо произвести настройку отображения матрицы для решения поставленных задач? И какие функции для этого использовать?

[I]Пример конкретного условия:
- ослабление радиоволн в точке ниже -200 ДБ не отображать (значение ослабления отрицательно);
- отображенная матрица полупрозрачна.[/I]

Матрица радиопокрытия это дополнительный элемент, основная программа для отображения обстановки уже написана и переписывать в MAPAPI не рассматривается из-за сжатых сроков.

[I]Разработка производится в «ГИС Конструктор для ПС Конструктора» версия 10 под МСВС 3.0 изм.4[/I]
Изменено: Дмитрий Григорьев - 10.12.2012 14:36:12
Страницы: 1



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

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