LINUX.ORG.RU

Ответ на: комментарий от anonymous

>никак. Это размер экрана в миллиметрах

ROTFL ;)))))

По теме: ss@toshiba:~$ xdpyinfo | grep dimensions dimensions: 1024x768 pixels (347x260 millimeters)

но xdpyinfo может врать из за того что берет разрешение экрана из настроек X-сервера что не всегда правда....

sS ★★★★★
()
Ответ на: комментарий от anonymous

Обычно танцуют от разрешения экрана - измеряется в пикселях на инч (то бишь дюйм) ...обычно это что-то типа 75x75 пикселей на дюйм и является свойством моника. В X сервере есть база моников - поэтому его можно спросить, сколько оно. Но не факт что моник есть в базе, тогда принимается дефолтовое разрешение. Далее.
В одном дюйме как известно 25.4 мм

Дальше задачка в 2 действия.

Кроме того X сервер уже имеет встроенные функции, которые вычисляют высоту и ширину в mm

Но если промахнуться с разрешением монитора получается фигня.

Пример:
#include <stdio.h>
#include <math.h>
#include <X11/Xlib.h>

int main()
{
Display *d = XOpenDisplay(0);
int s = DefaultScreen(d);
int w = DisplayWidthMM(d, s);
int h = DisplayHeightMM(d, s);
printf("W = %u mm, H = %u mm\n", w, h);
printf("D = %.f\"\n", sqrt(w * w + h * h) / 25.4);
return 0;
}

ss@toshiba:~/Work/TrashCode$ gcc mon-size.c -L /usr/X11/lib -lX11 -lm -o mon-size 

ss@toshiba:~/Work/TrashCode$ ./mon-size
W = 347 mm, H = 260 mm
D = 17"

При этом LCD панелька на ноуте 15" а не 17"

То есть реальный резолюшн LCD панельки 17/15*75->85х85 

sS ★★★★★
()
Ответ на: комментарий от anonymous

>то есть можно использовать mon-size для того чтоб узнать DisplaySize?

Только осторожно ;) Я-ж показал как он врёт на моей панельке ;)

sS ★★★★★
()
Ответ на: комментарий от anonymous

>D = 16" у меня ж 17

У тебя как раз правильно выходит

поменяй %.f на %g

У 17 " моников видимое изображение чуть меньше обычно ...

sS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.