Esate.ru

Реальные размеры (миллиметры) в C#.

Всем добрый день!
Вопрос состоит в следующем: нужно узнать реальные размеры (РР) нарисованного на экране (скажем диаметр сферы), как это сделать?


Читал, что можно находить РР через пиксели, разрешение экрана и его диагональ, может есть какие-то готовые решения.

0       1314        23.08.2010        7
0  
23.08.2010 00:00:00
Хм, если не ошибаюсь, в MFC были специальные меры для перевода из пикселей (необходимы были для печати). В openGL не встречал

Гугл подсказал (возможно самый верный путь):


int glutGet(GLenum state);


Возможные параметры state

GLUT_SCREEN_WIDTH
Width of the screen in pixels. Zero indicates the width is unknown or not available.
GLUT_SCREEN_HEIGHT
Height of the screen in pixels. Zero indicates the height is unknown or not available.
GLUT_SCREEN_WIDTH_MM
Width of the screen in millimeters. Zero indicates the width is unknown or not available.
GLUT_SCREEN_HEIGHT_MM
Height of the screen in millimeters. Zero indicates the height is unknown or not available.

P.S. Сами пиксели (зерно) на экране разного размера у разных мониторов.
Ссылка 0  
0  
23.08.2010 00:00:00
()
Родитель Ссылка 0  
0  
23.08.2010 00:00:00
Таким образом получили ширину в пикселях, ширину в милиметрах — посчитали примерно мм/px.
Но чтобы перевести размер нужно много считать, в зависимости от типа проекции, по каким-либо контрольным точкам считать размер проекции 3д модели на экране.

Зато если 2D ортогональная проекция, то все проще :)
Родитель Ссылка 0  
0  
23.08.2010 00:00:00
2Д проекция. Обычный лист чертежный.
Родитель Ссылка 0  
0  
23.08.2010 00:00:00
Ну тогда по началу оттолкнуться от GLUT_SCREEN_WIDTH_MM. Проверить на паре разных мониторов — по идее, наверно, значение берется для каждого монитора отдельно и это значение подходит для решения задачи
Родитель Ссылка 0  
0  
23.08.2010 00:00:00
Спасибо большое!
Т.е. разСами пиксели (зерно) на экране разного размера у разных мониторов.нельзя их физический размер программными средствами узнать?

Дело все в том, что мне нужно, чтобы на экране размеры отображались ТОЧНО — 5 сантиметров, 123 миллиметра и т.д. Инженерная точность нужна (настолько точно насколько можно выжать из Джеля).
Ссылка 0  
0  
23.08.2010 00:00:00
Большое спасибо за помощь!
Ссылка 0  

Блоги Esate.ru

Регистрация

Регистрируясь, вы принимаете правила сайта. Если вы не получили код подтв. регистрации - не забудьте проверить папку спам.
Логин*
Email*
Пароль*
Подтверждение пароля*
 
Логин*
Код*
 

Восстановление пароля

Пожалуйста, заполните поля, после чего вы получите код подтверждения на ваш E-mail. Если код не пришел в течении нескольких минут - проверьте папку спам.
Логин

или Email
 
Логин*
Код подтверждения*
Новый пароль*
Подтверждение пароля*
 

Авторизация

Пожалуйста, авторизуйтесь, для входа на сайт с помощью соц. сети:
  • Используйте вашу учетную запись на Facebook.com для входа на сайт.
  • Используйте вашу учетную запись VKontakte для входа на сайт.
  • Используйте вашу учетную запись Google для входа на сайт.

или с помощью аккаунта на сайте:

Логин
Пароль