1 пиксель = 0,264583333 мм,
1 мм = 3,777527559 пикселей
в соответствии с transatorscafe.com
но в действительности Pixel - это относительное измерение, которое зависит от вашего разрешения экрана.
Вы не можете правильно преобразовать относительное измерение в фиксированное измерение, вы можете только приблизить его. А правильность аппроксимации зависит от того, насколько точны ваши предположения, в этом случае допущение составляет 1 пиксель = 0,264583333 мм
Предположим, например, мой случай:
У меня разрешение 1920 х 1080 пикселей (согласно настройкам дисплея windows).
Тогда у меня есть 18-дюймовый монитор на моем ноутбуке.
Это означает 18 дюймов по диагонали, а поскольку 1 дюйм составляет 25,4 миллиметра (по данным Google), это составляет 457,2 мм по диагонали (согласно calc.exe).
Кроме того, если предположить, что длина пикселя равна мм по длине и ширине, это означает, что высота монитора в 1080/1920 раз больше, чем у него.
Используя теорему Пифагора a ^ 2 + b ^ 2 = c ^ 2 = 457,2 ^ 2 мм ^ 2
а а х и б 1080/1920 х у нас есть
(х) ^ 2 + (1080/1920 х) ^ 2 = 457,2 ^ 2 мм ^ 2
Решение для x приводит к 398,4843356 мм (согласно Casio Classpad 300)
Так что, если мой экран имеет ширину 1920 пикселей, равную 398,4843356 мм, для меня пиксель равен 0,20754392479166666666666666666667 мм
Итак, теперь вы можете рассчитать, если я переключу свое разрешение до 1280 x 768 пикселей, уравнение получится:
х ^ 2 + (768/1280 * х) ^ 2 = 457,2 ^ 2 мм ^ 2
х разрешается до х = 392,0457656 (в соответствии с Casio Classpad 300)
и поэтому
1280 пикселей соответствуют 392,0457656 мм, что составляет 1 пиксель равным 0,3062857544 мм.
Вот почему все становится больше (относительно друг друга), если вы уменьшаете разрешение.
Размеры указаны в пикселях, а фактический размер в мм.
Итак, вы видите, тот же экран, но другой результат, но каждый из них правильный.
Итак, вы видите, пиксель = относительно разрешения, но не в мм.
Вообще говоря:
w: width in Pixel
h: height in Pixel
d: Monitor diagonal
x: Pixel-Size
Итак, согласно Пифагору:
(шх) 2 + (хх) 2 = d 2
следует:
![Pixel-Size](https://i.stack.imgur.com/AARbW.png)
А так как w и h известны из настройки разрешения, теперь вы можете рассчитать ширину и высоту экрана в дюймах / см / мм.
Imports Microsoft.VisualBasic
Namespace Units
Public Class UnitConversion
Public Shared Function mm2Points(ByRef dSomeMillimeters As Double) As System.Web.UI.WebControls.Unit
' Point ist eine Maßeinheit, die 1/72 Zoll entspricht.
' 1 Zoll = 1 in = 1000 Thou = 1000 mil = 1/12 ft = 1/36 yd = 25,4 mm = 2,54 cm = 0,254 dm = 0,0254 m.
' 1 Point = 0.35277777777777777777777777777778 mm
' --> 1mm = 2.834645669291338582677165354337 Point
Return System.Web.UI.WebControls.Unit.Point(dSomeMillimeters * 2.8346456692913384) 'Point
End Function
Public Shared Function mm2Pica(ByRef dSomeMillimeters As Double) As System.Web.UI.WebControls.Unit
'Pica ist eine Maßeinheit, die 12 Points entspricht.
' The contemporary computer pica is 1/72nd of the Anglo-Saxon compromise foot of 1959, i.e. 4.23_3mm or 0.166in. Not
' 1 Pica = 4.233333333333333333333333333333333 mm
' --> 1 mm = 0.23622047244094488188976377952758 Pica
Return dSomeMillimeters * 0.23622047244094488
End Function
Public Shared Function cm2Points(ByRef dSomeCentiMeters As Double) As System.Web.UI.WebControls.Unit
Return mm2Points(dSomeCentiMeters * 10.0)
End Function
Public Shared Function cm2Pica(ByRef dSomeCentiMeters As Double) As System.Web.UI.WebControls.Unit
Return mm2Pica(dSomeCentiMeters * 10.0)
End Function
End Class
End Namespace