Re: LPtoDP --> DPtoLP
От: EyeOfHell  
Дата: 30.06.04 13:52
Оценка:
День добрый.

А>Столкнулся с непонятной штукой.

А>Почему так происходит:
А>LPtoDP( gc->hDC, pts, 2 );
А>DPtoLP( gc->hDC, pts, 1 );
А>На входе х2 — 602
А>На выходе х2 — 603
А>Откуда берётся еденичка?

К сожалению, ни LPtoDP(), ни LPtoDP() не обратимы. Это связано с округлением при float-преобразованиях. Тоесть — если мы преобразовали некое число x из LP в DP, а потом результат обрытно — то у нас нет никакой гарантии, что мы
снова получим x. Плавающая точка ;(.

Для избежания рекомендуется переделать логику, чтобы она не требовала обратного преобразования либо не зависила от него.

С уважением, Око
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.