Из того, что я понял, точка отношения к пикселю будет зависеть от разрешения экрана. Итак, как я могу вычислить его во время выполнения в С#?
Спасибо
Если вы пытаетесь получить DPI на экране, это немного сложнее. Вам нужно будет создать настоящий объект Graphics и запросить его.
Например, в событии Load вашей основной формы:
using( Graphics g = CreateGraphics() )
{
_dpiX = g.DpiX;
_dpiY = g.DpiY; // In practice usually == dpiX
_points = _dpiX / 72.0f; // There are 72 points per inch
}
Конечно, большинство мониторов лгут о фактическом DPI и всегда возвращают 72 или 96 или когда большие шрифты включены 120. Если вы действительно хотите отобразить физический дюйм на экране, вам придется фактически откалибровать его с помощью пользовательская справка - если они выбирают линию, которую они измеряют, равную 1 дюйму.
Все находится в объекте Экран:
int bpp = System.Windows.Forms.Screen.PrimaryScreen.BitsPerPixel;
int wid = Screen.PrimaryScreen.WorkingArea.Width;
int ht = Screen.PrimaryScreen.WorkingArea.Height;
На моей машине он дает:
bpp=32
width=1280
height=740
_points
. Теперь, как бы я_points
сpixels
?