Приветствую господа разработчики!
Нужна консультация по использованию функции [B]mapSetScreenImageSize[/B]
В поиске нашёл некоторые пояснения от Олега Валентиновича[URL=http://gisweb.ru/forum/messages/forum2/topic4304/message27497/4304#message27497] http://gisweb.ru/forum/messages/forum2/topic4304/message27497/4304#message27497[/URL] но они не совсем поясняют мой вопрос.
Итак. Имеем на входе
1. Видеокарту в двухмониторном режиме с двумя подключенными мониторами
2. Разрешение основного монитора (который слева FullHD 1920 х 1080 - диагональ 22")
3. Разрешение дополнительного монитора (на котором карта) - 1600х1200 (4:3 диагональ 19")
Перед открытием всех карт в секции инициализации (initialization)
устанавливаю следующие параметры буфера[B] mapSetScreenImageSize[/B](4000, 3000)
В итоге
на правом (дополнительном мониторе) все объекты становятся очень мелкими, а в масштабе 1:500 000 (1см/5км) видно территорию всего "золотого кольца"
ну и карта естественно очень сильно тормозит при перемещении.
Опытным путём было вычислено, что вышеуказанная функция меняет не только размер буфера, а и размер "Диагонали" монитора по умолчанию
Исходя из этого, достигается эффект отображения района карты который размещается на дисплее размером в 33" (после увеличения буфера)
на мониторе с реальной диагональю 22".
По сути, функция mapSetScreenImageSizeне только устанавливает буфер экрана, а и пересчитывает "под себя" параметр
которые возвращается и уста навивается функциями [B]mapGetScreenSize / mapSetScreenSize [/B]
Чтобы достичь эффекта увеличения буфера без масштабирования карты функцию mapSetScreenImageSize использую вот так:[QUOTE]int scrSize = mapGetScreenSize(); // запоминаю диагональ
mapSetScreenImageSize(screen.Width*2, screen.Height*2); // расширяю буфер в два раза
mapSetScreenSize (scrSize); // возвращаю диагональ [/QUOTE]
Вопрос 1: это правильное применение функции выделения буфера, или я что-то делаю не так:
Вопрос 2: это правильно, что функция mapSetScreenImageSize пересчитывает параметр который возвращается функцией mapGetScreenSize ?
Нужна консультация по использованию функции [B]mapSetScreenImageSize[/B]
В поиске нашёл некоторые пояснения от Олега Валентиновича[URL=http://gisweb.ru/forum/messages/forum2/topic4304/message27497/4304#message27497] http://gisweb.ru/forum/messages/forum2/topic4304/message27497/4304#message27497[/URL] но они не совсем поясняют мой вопрос.
Итак. Имеем на входе
1. Видеокарту в двухмониторном режиме с двумя подключенными мониторами
2. Разрешение основного монитора (который слева FullHD 1920 х 1080 - диагональ 22")
3. Разрешение дополнительного монитора (на котором карта) - 1600х1200 (4:3 диагональ 19")
Перед открытием всех карт в секции инициализации (initialization)
устанавливаю следующие параметры буфера[B] mapSetScreenImageSize[/B](4000, 3000)
В итоге
на правом (дополнительном мониторе) все объекты становятся очень мелкими, а в масштабе 1:500 000 (1см/5км) видно территорию всего "золотого кольца"
ну и карта естественно очень сильно тормозит при перемещении.
Опытным путём было вычислено, что вышеуказанная функция меняет не только размер буфера, а и размер "Диагонали" монитора по умолчанию
Исходя из этого, достигается эффект отображения района карты который размещается на дисплее размером в 33" (после увеличения буфера)
на мониторе с реальной диагональю 22".
По сути, функция mapSetScreenImageSizeне только устанавливает буфер экрана, а и пересчитывает "под себя" параметр
которые возвращается и уста навивается функциями [B]mapGetScreenSize / mapSetScreenSize [/B]
Чтобы достичь эффекта увеличения буфера без масштабирования карты функцию mapSetScreenImageSize использую вот так:[QUOTE]int scrSize = mapGetScreenSize(); // запоминаю диагональ
mapSetScreenImageSize(screen.Width*2, screen.Height*2); // расширяю буфер в два раза
mapSetScreenSize (scrSize); // возвращаю диагональ [/QUOTE]
Вопрос 1: это правильное применение функции выделения буфера, или я что-то делаю не так:
Вопрос 2: это правильно, что функция mapSetScreenImageSize пересчитывает параметр который возвращается функцией mapGetScreenSize ?
Изменено: - 25.01.2019 20:26:50