Dunkel1
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте, Все! Вопрос следующий: как осуществить перевод экранных пикселей в реальные миллиметры ? Пробовал: 1. Вычисляю число пикселей в миллиметре по X и по Y: Код: HorResol,VertResol,HorScWidth,VertScHeight: Integer; PixXFact,PixYFact: Double; ... HorResol := GetDeviceCaps(GetDC(HWND(Nil)),HORZRES); VertResol := GetDeviceCaps(GetDC(HWND(Nil)),VERTRES); HorScWidth := GetDeviceCaps(GetDC(HWND(Nil)),HORZSIZE); VertScHeight := GetDeviceCaps(GetDC(HWND(Nil)),VERTSIZE); PixXFact := HorResol/HorScWidth; PixYFact := VertResol/VertScHeight; | Но такой вариант дает весьма неточные значения, которые с увеличением значения отображаемой величины, очень сильно искажаются. 2. Есть свойство класса TScreen - PixelsPerInch, которое дает число пикселей в логическом дюйме по вертикали. Но, очевидно, этого недостаточно. Каким еще образом можно решить эту проблему, получив при этом более или менее приемлемые данные ? |