Apple设备中point,磅(pt),pixel的关系与转换,以及iPhone模拟器与真机的长度关系

摘要:
首先说明苹果设备绘图的长度单位可以认为是point,不是磅的意思。对于Retina的高分屏,1point映射物理屏幕2pixel。首先,将pt和px单位都统一到英尺pt/72=inchpixel/dpi=inch这样就可以简单的进行转换了pt*dpi/72=pixel对于传统屏幕,Macbook屏幕的dpi是96,iPhone屏幕的dpi是163。对于Retina屏幕,Macbook屏幕的dpi是192,iPhone屏幕的dpi是326。还有一点注意的是iPhone模拟器是按照Macbook的dpi来的,而macbook的dpi时低于iPhone的,也就是说Macbook的像素点比iPhone的要大,所以iPhone模拟器要比真机要大。

查阅了好多资料都没有发现有相关的详细介绍,包括苹果官方文档,也是草草带过。后来是在一个介绍Macbook打印字体的博客中看到的,受到启发。

首先说明苹果设备绘图的长度单位可以认为是point,不是磅(pt)的意思。该point是一个逻辑概念,是独立于设备的。

Apple设备中point,磅(pt),pixel的关系与转换,以及iPhone模拟器与真机的长度关系第1张

图1.不同分辨率屏幕显示1point

对于传统常规屏幕,1 point 映射物理屏幕1 pixel。对于Retina的高分屏,1point映射物理屏幕2 pixel。这样可以统一图形在同一种类不同型号设备上图形的大小。

所以在开发的时候,不区分常规屏幕还是Retina屏幕,在iPhone(3.5 inch)上都是(480 ,360)在Macbook(13 inch)上都是(1280 ,800)。

在实际渲染到屏幕上时候,会有个scale 系数将 point 映射到物理 pixel,在传统屏幕上factor是等于1,Retina屏幕上是等于2,也就是上图中为什么线宽为1 point在Retina屏幕上映射线宽为2 pixel。

对于字体上的磅(pt)转换到苹果设备上的方法。目前还没有发现直接支持单位为磅的函数。但是可以进行转换。首先,将pt 和 px单位都统一到英尺

pt/72 = inch

pixel/dpi = inch

这样就可以简单的进行转换了

pt * dpi / 72 = pixel 

对于传统屏幕,Macbook屏幕的dpi 是96,iPhone屏幕的dpi 是163。对于Retina屏幕,Macbook屏幕的dpi 是192,iPhone屏幕的dpi 是326。但是对于开发来说,绘制的图形依然是在以point 为单位

pt * dpi / 72 * scale = point 

最后发现,这也是不区分传统屏幕还是Retina屏幕的。

如果要保证Macbook和iPhone上的实际长度相同,肯定不能用相同的point ,需要通过上述的公式进行换算。还有一点注意的是iPhone模拟器是按照Macbook的dpi来的,而macbook的dpi时低于iPhone的,也就是说Macbook的像素点比iPhone的要大,所以iPhone模拟器要比真机要大。在模拟器上的长度会比实际来的短。

免责声明:文章转载自《Apple设备中point,磅(pt),pixel的关系与转换,以及iPhone模拟器与真机的长度关系》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇海量用户-高并发SAAS产品测试上线流程sql优化(oracle)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

手机页面尺寸设置(一)

参考:http://webdesign.tutsplus.com/tutorials/htmlcss-tutorials/quick-tip-dont-forget-the-viewport-meta-tag/ 一、网页手机wap2.0网页的head里加入下面这条元标签,在iPhone的浏览器中页面将以原始大小显示,并不允许缩放。 其中: width -...

比较语义分割的几种结构:FCN,UNET,SegNet,PSPNet和Deeplab

简介 语义分割:给图像的每个像素点标注类别。通常认为这个类别与邻近像素类别有关,同时也和这个像素点归属的整体类别有关。利用图像分类的网络结构,可以利用不同层次的特征向量来满足判定需求。现有算法的主要区别是如何提高这些向量的分辨率,以及如何组合这些向量。 几种结构 全卷积网络FCN:上采样提高分割精度,不同特征向量相加。[3] UNET:拼接特征向量;编码...

iphone上如何绘制柱状图(转载,整理)

曾经在cocoachina上看到过绘制的立体的柱状图,效果非常不错,下面是链接, http://www.cocoachina.com/bbs/read.php?tid-9462-toread-1.html NTChartView.h #import <Foundation/Foundation.h> @interface NTChartV...

移动平台的meta标签-----神奇的功效

 对于桌面平台web布局中大家对meta标签再熟悉不过了,它永远位于 head 元素内部,对做SEO的朋友一定对meta有种特殊的感情吧,今天我们就来说说移动平台的meta标签,在移动平台meta标签究竟有哪些神奇的功效呢? 1、Meta 之 viewport 说到移动平台meta标签,那就不得不说一下viewport了,那么什么是viewport呢?vi...

c语言数字图像处理(一):bmp图片格式及灰度图片转换

本篇文章首先介绍了bmp图片格式,主要参考wiki上的内容,包括bmp文件的存储方式,对于一些常见的bmp文件格式都给了例子,并且对8位 16位RGB555 16位RGB565格式的bmp文件进行了简单分析,最后的代码可以将8位,16位,24位,32位色彩深度的bmp文件转化位8位灰度图片,用作后续文章中算法的测试图片。 Bmp file structur...

iOS模拟器命令

简介 可用通过xcrun simctl 和ios-sim来查看和管理iOS模拟器 xcrun simctl是Xcode自带的,ios-sim可用通过以下指令安装 npm install ios-sim -g 1. 查看已安装的设备 xcrun instruments -s 运行结果 iPhone 5s (12.1) [7546EE13-F9C4-4708-...