一直对分辨率这些东西看了忘,忘了看,傻傻不分清楚,这次索性查些资料,自己也总结下。有些是自己的理解,如有错误感谢指出。
像素
译自英文“pixel”,pix是英语单词picture的常用简写,加上英语单词“元素”element,就得到pixel。
描述一张位图图片的最小单位可以说就是像素了,就是一个一个带有颜色的点,或者说是正方形,也可以是长方形,把一张图片放大再放大变可以看到了。
但是像素它是没有固定大小的,每个像素只是有一些颜色信息,在不同显示屏上同一个点的大小当然会不同,相同之处就是他们的颜色一样。
分辨率
有的地方讲分辨率是用ppi表示,但我看到手机参数,显示器分辨率都用类似1920×1080这样的方式表示,所以按后者讲吧。1920×1080也就是表示电脑显示屏或者手机显示屏横向可以显示1920个像素,纵向可以显示1080个像素,也就是横向有1920个点,纵向有1080个点。
常见的就是一直说的1080p(1920×1080,16:9),720p(1280×720,16:9),4k(3840X2160)其他的也没注意,附一个链接常见分辨率,常见尺寸
ppi
最让人头疼的一个概念
Pixels Per Inch,每英寸长度的像素个数。
首先一英寸是2.54厘米,其次注意是长度,不是面积,意思就是2.54厘米长度的直线通过多少个像素,就是多少ppi。假如一个显示器的的长是2英寸,宽是1英寸,而他的ppi是5。那他的分辨率就是10×5。
不要被我的图所误解,一般要是正方形就都是正方形。
ppi其实就是像素密度,当长宽固定了,ppi越高,显示器所能显示的像素就越多,可以想象上边的图,如果ppi是三百,也就是2.54厘米的宽会有300个小正方形,几乎就是个点了,300ppi几乎是人眼的极限了,再高,人眼已经分辨不出差别了。
所以对于显示器,分辨率=[长乘上ppi] × [宽乘上ppi],
长度,ppi,分辨率三者制约。
所以对于一个显示器,如果大小确定,当然分辨率越高越好,因为这样ppi就越高,但高于300再高意义也不是很大了。
一个很大的显示器,为了达到300ppi,就需要好多好多的像素了。
图像与显示器
如果图片的分辨率是10×20,显示器的分辨率高于他,那么没问题,可以正常显示这个图,如果低于它,那显示的时候显示器会自动用一些算法忽略一些像素了。
所以一幅图清不清晰,还得看在哪显示他,如果显示器的分辨率也是10×20,图片是不是就清晰呢,答案当时是否定的,还得看显示器的什么?对,ppi,或者说屏幕大小,因为两者互相决定,如果ppi是1,那么显示器就是25.4cm × 50.9cm,可以想象这幅图肯定是马赛克那样了。
dpi
Dots Per Inch,每英寸点数,概念和ppi差不多,但多用于打印机等打印设备。比如打印机是300dpi,我们需要打印一张1寸照片1寸 × 1.4寸,那么我们至少需要多大像素的照片才不会看到马赛克,很好算
就是 1×300=300,1.4×300=420,也就是300 × 420=126000 像素的照片即可了。
补充下照片大小的算法
如1寸相片其规格为1X1.4,用1.4长那边的尺寸来表示,即1寸;
5寸相规格是尺寸5X3.5,用长边尺寸5表示其照片的规格。
而国际上还有一种通行的表示照片尺寸的方法,即取照片短的一边的英寸整数数值加字母R来表示。
比如5寸照片,规格为5X3.5英寸,即3R;
6寸照片,规格为6×4英寸,即4R。
所以像素再高其实也没什么用,除非你想要一张好大好大的照片。
手机ppi计算
显示器的尺寸是用对角线表示的,比如iphone 7的尺寸为4.7寸,那么其实是说他的对角线长度为4.7寸。
有了像素和尺寸,我们完全可以算ppi,可以勾股定理算出对角线的像素数,然后除以4.7即可。
也可以因为iphone 7的屏幕尺寸比大约为16比9,根据这个算出长宽,再除以长或者宽的像素也就求出来了。
dip
dip(dp)是安卓里为了适配屏幕专门提出的概念,简单说就是一个公式
px = dp * (dpi / 160)
也就是说如果图片宽2dp,那么如果手机的ppi是320,那么图片宽将是4个像素。
对安卓感兴趣的,我再专门详细写一下。