像素分辨率和点的关系(终极解决)
像素是组成图象的最基本单元要素:点。
分辨率是指在长和宽的两个⽅向上各拥有的像素个数。
⼀个像素有多⼤呢?主要取决于显⽰器的分辨率,相同⾯积不同分辨率的显⽰屏,其像素点⼤⼩就不相同。
⼤家都知道线是由⽆数个点组成的,⽽⾯是由⽆数条线组成,即⼀个平⾯是由⽆数个点所组成。但⽆论技术多先进发达,⼈类总是不可能做到⼀幅图象由⽆数个点来构成的境界,只能在长和宽的⽅向上由有限个点组成⽽已。
这些有限的点就叫做像素,每⼀个长度⽅向上的像素个数乖每⼀个宽度⽅向上的像素个数的形式表⽰,就叫做图⽚的分辨率。
如⼀张640X480的图⽚,表⽰这张图⽚在每⼀个长度的⽅向上都有640个像素点,⽽每⼀个宽度⽅向上都480个像素点,总数就是
640X480=307200(个像素),简称30万像素。
显然单位⾯积上像素点越多即像素点越⼩,这图⽚就越清晰细腻。
那这个像素点究竟有多⼤⼩呢?单纯从图⽚来说是不能确定这个点有多⼤的。这个⼤⼩和显⽰屏的分辨率息息相关。
总⽽⾔之,所谓分辨率,就是⼀个屏幕被分解成多少个微⼩的格⼦,分辨率越⾼时,你所看到得东西越⼩,当然也越清晰,当分辨率越低时,看到的越⼤,越模糊。
xcode开发ios应⽤程序时,在判断屏幕⼤⼩时,使⽤的单位是“点”⽽不是“像素”。所以,在Retina显⽰屏的设备上,1点=2像素,因此
1136×640像素=568×320点。使⽤点作为单位是⾮常⽅便的,因为如此⼀来游戏在Retina显⽰屏和⾮Retina显⽰屏上可以使⽤相同的坐标!所以,我们在开发的时候不需要考虑retina屏。
ps:xcode中的模拟器的⼤⼩,⽤的单位就是点。⽽不是像素。
看到有很多⽹友不太理解dp、sp和px的区别:现在这⾥介绍⼀下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表⽰长度、⾼度等属性时可以使⽤dp 或sp。但如果设置字体,需要使⽤sp。dp是与密度⽆关,sp除了与密度⽆关外,还与scale⽆关。如果屏幕密度为160,这时dp和sp和px是⼀样的。1dp=1sp=1px,但如果使⽤px作单位,如果屏幕⼤⼩不变(假设还是3.2⼨),⽽屏幕密度变成了320。
那么原来TextView的宽度设成160px,在密度为320的3.2⼨屏幕⾥看要⽐在密度为160的3.2⼨屏幕上看短了⼀半。但如果设置成160dp或160sp的话。系统会⾃动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度⽐例因⼦。也就是说,如果使⽤dp和sp,系统会根据屏幕密度的变化⾃动进⾏转换。
下⾯看⼀下其他单位的含义
px:表⽰屏幕实际的象素。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。
in:表⽰英⼨,是屏幕的物理尺⼨。每英⼨等于2.54厘⽶。例如,形容⼿机屏幕⼤⼩,经常说,3.2(英)⼨、3.5(英)⼨、4(英)⼨就是指这个单位。这些尺⼨是屏幕的对⾓线长度。如果⼿机的屏幕是3.2英⼨,表⽰⼿机的屏幕(可视区域)对⾓线长度是3.2*2.54 = 8.128厘⽶。读者可以去量⼀量⾃⼰的⼿机屏幕,看和实际的尺⼨是否⼀致。
mm:表⽰毫⽶,是屏幕的物理尺⼨。
pt:表⽰⼀个点,是屏幕的物理尺⼨。⼤⼩为1英⼨的1/72。
Android⽀持下列所有单位。
px(像素):屏幕上的点。
一般使用的分辨率的显示密度是多少dpiin(英⼨):长度单位。
mm(毫⽶):长度单位。
pt(磅):1/72英⼨。
dp(与密度⽆关的像素):⼀种基于屏幕密度的抽象单位。在每英⼨160点的显⽰器上,1dp = 1px。
dip:与dp相同,多⽤于android/ophone⽰例中。
sp(与刻度⽆关的像素):与dp类似,但是可以根据⽤户的字体⼤⼩⾸选项进⾏缩放。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论