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

При отображении карты возникает перекрытие случайным цветом.

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active
Страницы: Пред. 1 2
RSS
При отображении карты возникает перекрытие случайным цветом.
 
Цитата
Vladimir Letov написал:
Такая проблема в примере myfirst возникает?
Похоже, что обновляется только часть виджета. А остальное остается не тронутым.
myfirst не содержит ф-ю масштабирования, которая вызывает проблему. Если пришлете свой собираемый под Астрой проект с масштабированием, попробую запустить. Прошу обратить внимание, что проблема воспроизводится на другом компьютере под Windows на программе Панорама Мини.
 
В проекте myfirst есть масштабирование при помощи кнопок '<' и '>' как заведено в настольных продуктах ГИС Панорама.

Проблема в программе ГИС Панорама Мини немного другого характера, как мне кажется.
 
На myfirst под Linux проблема не воспроизвелась.
 
Используете ли Вы для изменения масштаба метод SetViewScale?
 
Да. GetViewScale даёт текущий масштаб, потом он корректируется в сторону увеличения или уменьшения, потом применяется через SetViewScale.
 
P.S.  Используются ли в расчетах Панорамы физические параметры дисплея?
Эксперимент с myfirst позволил воспроизвести не точно такую же, но похожую проблему на Астре.
1) Запустил myfirst
2) Растянул окно по ширине больше ширины экрана
3) Изменил масштаб.
4) Перетащил в видимую область ранее скрытую часть окна. Она оказалась заполненной нулями.

Видео здесь.
https://yadi.sk/i/T46oTJgHUOzdpw
https://yadi.sk/i/C0EeAFCa3qQOAg

Второе видео показывает, что правая область окна заполняется средствами Панорамы, а не внешнего приложения.
Изменено: Вадим - 12.08.2019 15:25:27
 
P.S.
Проверил еще раз описанную в начале ветки проблему. Использовал дисплей с большим разрешением. Программу запустил под Астрой. Видео здесь:
https://yadi.sk/i/7UBTbECXSk3C4w
Окно приложения полностью умещалось в дисплее и не выходило за его пределы. Перекрытие карты и заполнение буфера случайными числами происходило при укрупнении масштаба.
Изменено: Вадим - 13.08.2019 14:40:46
 
Здравствуйте!

Проблема с отображением артефактов в случае, когда ширина отображаемого фрагмента больше ширины экрана, связана с недостаточным размером внутреннего буфера отрисовки.
По умолчанию, буфер выделяется в соответствии с размерами экрана. Чтобы увеличить размеры буфера, необходимо использовать функцию
mapSetMaxScreenImageSize (mapapi.h):
Код
  // Установить предельные размеры буфера изображения (не влияет на расчет разрешения экрана)
  // Функция должна вызываться до открытия данных
  // Чтобы оставить ширину или высоту без изменения соответствующий параметр
  // должен быть равен 0
  // Если экран компьютера, на котором выполняется программа, имеет большие
  // размеры, то установленные значения будут автоматически увеличены до
  // размеров экрана
  // При ошибке возвращает ноль

_MAPIMP long int _MAPAPI mapSetMaxScreenImageSize(long int width, long int height);

Данную функцию необходимо вызвать до первого открытия карты. Например, для myfirst пример использования может быть таким:
Код
MainForm1::MainForm1(QWidget *parent) :
// ...
{
mapSetMaxScreenImageSize(4096, 4096);

// ...
}
Попробуйте, пожалуйста, данное решение. Спасибо!
Страницы: Пред. 1 2
Читают тему (гостей: 1)



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

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