Windows phone 7 里silverlight的点与像素 (Points and Pixels in silverlight)
2012-12-16 18:44
453 查看
Silverlight 中的所有尺寸都是以像素为单位,FontSize也不例外。
当你定义FontSize = "36"时,意味着你得到了一个字体,这个字体从字母上沿到字母下沿的尺寸是36个像素。
传统上,字体尺寸是以点(Points)为单位的。在经典的凸版印刷中,一个点非常接近于1/72英寸,但是在数字印刷中,点经常被假定成确定的1/72英寸。
一个大小为72点的字体从字符顶端至底端大约是1英寸。
如何在像素和点之间转换?显然你不能将特殊的输出设备除外。例如在一个每英寸600 dot(600DPI)的打印机上,72点的字体将会有600像素高。
我们如今使用的桌面视频输出设备的分辨率通常在100DPI的范围以内,例如,21寸显示器可以显示水平方向1600像素,垂直方向1200像素。
所以,斜对角线上是2000像素,除以21,大约就是95DPI.
默认情况下,微软windows假定视频显示设备是96DPI, 在这个假设下,字体尺寸和像素是有以下方程式中的关系的:
points = 3/4 * pixels
pixels = 4/3 * points
?这种关系仅适用于通常的视频显示设备。
当你设置FontSize = "36"时,你也可以设置为27-point 的字体。但是在TextBlock里实际上高度将更像48像素。比FontSize大约高出33%,这些称为leading的多余的部分,防止
了多个文本行之间形成相互干扰。
当处理windows phone 7等设备上的高分辨率屏幕时,字体大小的问题变得更加复杂。480*800像素显示屏,在大约4又2分之1寸屏幕上斜对角的像素为933,密度大约200DPI,
大约是普通分辨率的两倍。
?当运行在Web浏览器里时,默认的silverlight字体大小是11像素,即8.25points, 对于桌面显示来说很好了,但是对于手机来说就小了点。因此,windows phone的silverlight定义了
一个通用字体大小集合供使用。
标准的MainPage.xaml文件在根元素下面包含了下面的属性:
FontSize = "{StaticResource PhoneFontSizeNormal}"
这个FontSize会影响所有的TextBlock控件而不会设置他们自己的FontSize属性。它是20个像素,几乎相当于默认桌面silverlight的FontSize的一倍。
使用标准的方程式,这个20像素的FontSize对应于15points, 但是实际在手机上显示时,大概只有打印文本的15points的一半大小。
TextBlock里显示的文本的实际高度大约比FontSize大33%,所以大概是27像素。
当你定义FontSize = "36"时,意味着你得到了一个字体,这个字体从字母上沿到字母下沿的尺寸是36个像素。
传统上,字体尺寸是以点(Points)为单位的。在经典的凸版印刷中,一个点非常接近于1/72英寸,但是在数字印刷中,点经常被假定成确定的1/72英寸。
一个大小为72点的字体从字符顶端至底端大约是1英寸。
如何在像素和点之间转换?显然你不能将特殊的输出设备除外。例如在一个每英寸600 dot(600DPI)的打印机上,72点的字体将会有600像素高。
我们如今使用的桌面视频输出设备的分辨率通常在100DPI的范围以内,例如,21寸显示器可以显示水平方向1600像素,垂直方向1200像素。
所以,斜对角线上是2000像素,除以21,大约就是95DPI.
默认情况下,微软windows假定视频显示设备是96DPI, 在这个假设下,字体尺寸和像素是有以下方程式中的关系的:
points = 3/4 * pixels
pixels = 4/3 * points
?这种关系仅适用于通常的视频显示设备。
当你设置FontSize = "36"时,你也可以设置为27-point 的字体。但是在TextBlock里实际上高度将更像48像素。比FontSize大约高出33%,这些称为leading的多余的部分,防止
了多个文本行之间形成相互干扰。
当处理windows phone 7等设备上的高分辨率屏幕时,字体大小的问题变得更加复杂。480*800像素显示屏,在大约4又2分之1寸屏幕上斜对角的像素为933,密度大约200DPI,
大约是普通分辨率的两倍。
?当运行在Web浏览器里时,默认的silverlight字体大小是11像素,即8.25points, 对于桌面显示来说很好了,但是对于手机来说就小了点。因此,windows phone的silverlight定义了
一个通用字体大小集合供使用。
标准的MainPage.xaml文件在根元素下面包含了下面的属性:
FontSize = "{StaticResource PhoneFontSizeNormal}"
这个FontSize会影响所有的TextBlock控件而不会设置他们自己的FontSize属性。它是20个像素,几乎相当于默认桌面silverlight的FontSize的一倍。
使用标准的方程式,这个20像素的FontSize对应于15points, 但是实际在手机上显示时,大概只有打印文本的15points的一半大小。
TextBlock里显示的文本的实际高度大约比FontSize大33%,所以大概是27像素。
相关文章推荐
- Windows phone 7 里silverlight的点与像素 (Points and Pixels in silverlight)
- UVa 477 - Points in Figures: Rectangles and Circles
- None of the XX first of XX (0) points of the global plan were in the local costmap and free
- Using commands with ApplicationBarMenuItem and ApplicationBarButton in Windows Phone 7
- Catch and Handle WCF Service Exceptions in Silverlight(转)
- VB Twips And Pixels 缇和像素
- Working with DbGeography, Points and Polygons in .NET
- Silverlight 4 Binding and StringFormat in XAML
- Silverlight Dashboard and Gauge Elements Drawed in Expression Blend
- HMAC MD5 http://hmacmd5.codeplex.com HMAC-MD5 for .NET 4.0, SL4 and WP7 Silverlight Windows Phone
- Instantiating a Silverlight Plug-in (Using CreateSilverlight.js and Silverlight.js)
- Building and using a Class Library in Silverlight 2.0
- DES, TripleDES and BlowFish in Silverlight
- Script and managed code in Silverlight
- windows phone:Solving Circular Navigation in Windows Phone Silverlight Applications
- Determine PixelWidth and PixelHeight for JPEG image in Silverlight 2B1
- Checkpoints and RBA in Oracle
- color vector using in plotting example points and lines between corresponding vertices
- Silverlight and C# in Orcas Beta 1(转载)
- The run order about Loaded event and OnApplyTemplate in custom control of Silverlight 2 beta 2