СообЧа > База Знаний > Программирование > C, С++ > Borland C++ Builder

Вопрос

Использую C++Builder 6.0 под Windows 2000. Нужно в программе определять сколько пикселов приходится на 1 мм экрана по горизонтали и по вертикали. С помощью каких функций это можно сделать?

Ответ

Это называется aspect ratio. В частности, с этим коэффициентом должны сжиматься круги (в эллипсы), чтобы продолжать выглядть кругами.
Я _не_ знаю, какие функции для этого есть в BCB и W2k, но могу посоветовать следующее:
все современные компьютерные мониторы (да и большинство телевизоров) имеют соотношение сторон 4:3 (кстати, я замерял площадь экрана у 17-дюймового ЭЛТ-монитора, получилось 32 на 24 см, для ЖКД соотношение тоже сохраняло свою силу). В принципе, сейчас уже есть не только телевизоры для домашних кинотеатров с соотношением 16:9, но и дисплеи, но пока это экзотика. Так вот, зная текущее разрешение экрана, можно вычислить aspect ratio с учJтом соотношения 4:3. Например, для разрешения 1024x768 ratio будет 1:1, а для 1280x1024 ratio равен 5:4.

Впрочем, если тебе нужен именно физический размер пикселя, то, скорее всего, нигде этой информации не найдJшь — даже если в винде где-то и доступна информация о диагонали и соотношении сторон монитора, то ведь там не учитываются, например, поля (которые существенно влияют на размер видимой области). Например, для 17-дюймовой ЭЛТ номинальные размеры должны быть 34.5 на 25.9 см, а не 32 на 24 см. У ЖКД тоже возможны небольшие вариации…

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация