Если задавать виндошной Polyline очень большие координаты точек (порядка 300000000 для WinXP, а для Win98 порядка 50000), то линии не рисуются. Как решить проблему?
Здравствуйте, SashaTula, Вы писали:
ST>Если задавать виндошной Polyline очень большие координаты точек (порядка 300000000 для WinXP, а для Win98 порядка 50000), то линии не рисуются. Как решить проблему?
Здравствуйте, SashaTula, Вы писали:
ST>Если задавать виндошной Polyline очень большие координаты точек (порядка 300000000 для WinXP, а для Win98 порядка 50000), то линии не рисуются. Как решить проблему?
В Win98 16-разрядная система GDI, поэтому координаты ограничены 32767.
В 2K/XP экспериментально установленный предел для координат Polyline — чуть меньше MaxInt div 16.
Известно, что некоторые функции GDI для повышения точности работают с числами с фиксированной точкой в формате 28.4 — вот отсюда и ограничение.
Здравствуйте, SashaTula, Вы писали:
ST>Если задавать виндошной Polyline очень большие координаты точек (порядка 300000000 для WinXP, а для Win98 порядка 50000), то линии не рисуются. Как решить проблему?
Не задавать такие большие координаты?
--
Sergey Chadov
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Функция Polyline не рисует длинные линии
От:
Аноним
Дата:
24.04.06 06:31
Оценка:
Большие значения понадобились при рисовании линий на плоттере под Win98.
Сделал разбиение линий на части, если длина превышает критическую. Выявил еще одну особенность: видимый на экране конец линии должен быть нулевой точкой для функции Polyline. Если он — последняя точка, то линия не рисуется.