2010-04-16 100 views

回答

3

1像素=0.264583333毫米,
1毫米= 3.779527559像素
根据translatorscafe.com
但在现实中像素的相对测量,这取决于屏幕分辨率。 您实际上无法正确地将相对测量转换为固定测量,您只能近似测量。这个近似的正确性取决于你的假设有多准确,在这种情况下假设是1像素= 0.264583333毫米

假设例如我的情况: 我有一个1920×1080像素的分辨率(根据Windows显示设置)。 然后我的笔记本电脑上有一个18英寸的显示器。 这意味着18英寸的对角线,并且因为1英寸是25.4毫米(根据谷歌),这使对角线457.2毫米(根据calc.exe)。 此外,假设一个像素的长度与宽度相同,这就意味着监视器的高度是1080/1920倍。 使用pythagoran定理a^2 + b^2 = c^2 = 457.2^2 mm^2 和a是x和b是1080/1920 x我们有 (x)^ 2 +(1080/1920 x)^2 = 457.2^2平方公厘 在398.4843356毫米求解对于x的结果(根据卡西欧的ClassPad 300)

所以,如果我的屏幕是1920个像素的宽度等于398.4843356毫米的像素对我来说是0.20754392479166666666666666666667毫米

所以,现在你可以计算,如果我把我的分辨率切换到1280 x 768像素,方程式变为:x = 2,x = 2, 392.0457656(根据卡西欧Classpad 300) d因此 1280像素对应于392.0457656毫米,这使得1像素等于0.3062857544毫米。

这就是为什么如果切换分辨率,一切都会变得更大(相对于彼此)。 测量以像素为单位,但实际尺寸以毫米为单位。

所以你看,同样的屏幕,但不同的结果,但每一个都是正确的。你看,像素=相对于分辨率,但不是mm。

一般而言:

w: width in Pixel 
h: height in Pixel 
d: Monitor diagonal 
x: Pixel-Size 

所以根据毕达哥拉斯:
(WX) +(HX) = d
它如下:
Pixel-Size

而且由于w和h是从re解决方案设置,现在可以以英寸/厘米/毫米为单位计算屏幕的宽度和高度。

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 
+0

他要求php。 – 2010-04-16 06:51:06

+0

@ metal-gear-solid:如果他读完小学,他应该可以从这里推导出PHP代码... – 2010-04-16 07:18:03

+1

嘿,我没有和 @ metal-gear-solid:你的回答对我很有帮助 – Chirag 2010-04-16 07:46:59

相关问题