【发布时间】:2015-08-04 16:40:21
【问题描述】:
亲爱的,我想将我的像素转换为磅值,在我的项目中,当用户调整文本图像的大小时,它应该使用磅值根据宽度重新调整大小??
有人知道吗?
【问题讨论】:
亲爱的,我想将我的像素转换为磅值,在我的项目中,当用户调整文本图像的大小时,它应该使用磅值根据宽度重新调整大小??
有人知道吗?
【问题讨论】:
1 像素 = 0.264583333 毫米,
1 毫米 = 3.779527559 像素
根据translatorscafe.com
但实际上像素是一个相对测量值,这取决于您的屏幕分辨率。
您实际上无法将相对测量正确地转换为固定测量,您只能对其进行近似。并且近似值的正确性取决于您的假设有多准确,在这种情况下,假设是 1 像素 = 0.264583333 毫米
假设例如我的情况: 我的分辨率为 1920 x 1080 像素(根据 windows 显示设置)。 然后我的笔记本电脑上有一个 18 英寸的显示器。 这意味着对角线为 18 英寸,由于 1 英寸为 25.4 毫米(根据 google),因此对角线为 457.2 毫米(根据 calc.exe)。 进一步假设一个像素相对于毫米的长度和宽度相同,这意味着监视器的高度是它的 1080/1920 倍。 使用勾股定理 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 毫米^2 求解 x 结果为 398.4843356 mm(根据 Casio Classpad 300)
因此,如果我的屏幕宽度为 1920 像素,等于 398.4843356 毫米,那么我的像素为 0.20754392479166666666666666666667 毫米
所以现在您可以计算,如果我将分辨率切换到 1280 x 768 像素,则等式变为: x^2 + (768/1280*x)^2 = 457.2^2 毫米^2 x 解析为 x=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
所以根据毕达哥拉斯:
(wx)2 + (hx)2 = d2
如下:
由于 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
【讨论】: