精华内容
下载资源
问答
  • 像素

    2013-05-15 21:18:25
    图片的像素:“像素”(Pixel)是由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,构成图像的最小单位,每个像素上只有一种颜色。 图片的像素和尺寸是两回事。   相机的像素像素是衡量数码相机...

    图片的像素:“像素”(Pixel)是由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,构成图像的最小单位,每个像素上只有一种颜色。

    图片的像素和尺寸是两回事。

     

    相机的像素:像素是衡量数码相机的最重要指标。像素指的是数码相机的分辨率。它是由相机里的光电传感器上的光敏元件数目所决定的,一个光敏元件就对应一个像素。因此像素越大,意味着光敏元件越多,相应的成本就越大。

     

    屏幕的分辨率指的是屏幕上的像素点,并不是像素点越多显示的图片越清晰而是像素点的密度越大越清晰。

     

    像素间距(pixel pitch):一般是指显示屏相邻两个象素点之间的距离。我们看到的画面是由许多的点所形成的,而画质的细腻度就是由点距来决定的,点距的计算方式是以面板尺寸除以解析度所得的数值。以LCD为例,14英寸液晶显示器的可视面积一般为300mm×190mm,分辨率为1280×800,从而计算出此LCD的点距是300/1280=0.2344mm或者190/800=0.2375mm。点距越小,图像越细腻。

     

    手机屏幕大小,像素和像素间距具有不同的概念手机图像的细腻程度是由像素间距和图片本身的像素共同决定的。

     

    Android中的像素:

             px(pixels)像素:每个px对应屏幕上的一个点。

             dip或dp (deviceindependent pixels)设备独立像素:

    一种基于屏幕密度的抽象单位,在每英寸160点的显示器上,1dip=1px。1dip = 1/160英寸。Sp在dip的基础上相关了使用者的偏好(当字体大小设置为标准是1dip=1sp,当字体大小为标准的n倍时1sp=ndip)。

    但随着屏幕密度的改变,dip和px的换 算会发生改变。这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA cwj推荐使用这个,不依赖像素。

      sp (scaled pixels — best for text size) 放大像素:

    主要处理字体的大小。可以根据用户字体大小首选项进行缩放

    备注: 根据google的推荐,像素统一使用dip,字体统一使用sp

     

     

    展开全文
  • 翻译与总结关于CSS的像素,devicePixedRatio与视窗的概念 1.像素本身的概念,CSS中的像素(参考像素) 2.物理像素与逻辑像素,DevicePixedRatio --2.1example: 选择不同质量的位图以适应不同分辨率的屏幕 3.移动端...

    翻译与总结关于CSS的像素,devicePixedRatio与视窗的概念

    1.像素本身的概念,CSS中的像素(参考像素)

    2.物理像素与逻辑像素,DevicePixedRatio

    --2.1example: 选择不同质量的位图以适应不同分辨率的屏幕

    3.移动端三类视窗的概念,how to get ideal viewport

    --3.example: meta中固定视窗宽度的方法


    1.像素,参考像素,逻辑像素,物理像素,分辨率---像素到底是绝对单位还是相对单位?

    wiki上对像素的定义是,由一个数字序列(如RGB)表示的图像中的一个最小完整采样/最小单位。因此,需要让图片尺寸以px为单位时,需要用固定的分辨率换算,如一个10inch*10inch,分辨率为72ppi的 的bitmap,就可以说它是720*720px的(这里的720*720又成了分辨率,即横纵方向上像素总个数)。也可反过来将像素在固定的ppi下换算成物理单位,如1024像素在300像素/英寸dpi下,每英寸≈0.003333像素,所以1024像素=3.413英寸=8.67厘米。

    以上说法当然正确,常用PS等绘图软件的同学应该都知道。但在CSS布局中,你会惊喜地发现,分辨率不是那个分辨率,像素也不是那个像素了。。那么,从头说起。

    分辨率:分为两类,图像分辨率和输出分辨率。图像分辨率即上文所说,以ppi(px per inch)为单位。输出分辨率,是指在打印/输出时横向和纵向两个方向上每英寸最多能够打印的点数,通常以“点/英寸”即dpidot per inch)表示。一般指打印机的最大分辨率。输出分辨率对显示器来说也就是解析度,电脑显示器的解析度约为72dpi,以一部15寸的电脑显示器为例,可视面积的水平长度大约为11.2寸,如果显示模式是800×600,那么解析度就是 800/11.2=71.4。如果是17寸电脑显示器,以1024×768的显示模式来看,解析度就变成1024/12.8=80了。对手机屏幕,解析度常见取值 120,160,240。160dpi为default.


    这里有两个问题,1,dpi=ppi吗?即这个点的大小就是一个像素吗?

    参考回答:from14楼江湖人称某二代2016-01-17 05:58发表于http://blog.csdn.net/dinko321/article/details/7992776

    在位图图象中,点组成线,线组成面,所以可以将一幅位图看成是由无数个点组成,组成图象的一个点就是一个象素,像素是构成位图图象的最小单位,它的形态是小方点———这只是一种理解的方式,dot可以是原点可以是方点,原则上它只是一个最小单位而没有具体的形态(见插图1-1),dot本身就是人为规定的。在安卓领域,可以把dpi想象成谷歌的工程师人为的把手机屏幕的物理尺寸分成每英寸多少个点,而手机屏幕是有ppi的,每一个p的物理尺寸也就算的出来。而1d是他们人为规定的,也能算出1d的物理尺寸,这样两者一比较就知道1d等于多少p。谷歌把160ppi的屏幕规定为160dpi,这样1d=1p,也就是说1d的物理长度为1/160(英寸),所以1dp=1px,这也就是为什么很多公式都一160这个数值为基准了。换到320ppi的屏幕,也就说1px物理长度为1/320(英寸),若想达到1/160英寸的长度看得用两个像素点来显示。

    即,决定图像输出质量的是图像的输出分辨率,以dpi为单位,两者有联系但并不总是相等的。


    2,这里的显示模式800×600是啥?

    参考回答:图像分辨率也可以表示成每一个方向上的总像素数量,就是横纵2个方向的像素点的数量,常见取值 480X800 ,320X480,上文中1024×768和800×600被叫做显示模式,其实就是分辨率。手机端这种概念较常见。

    说完了分辨率,才能开始说像素。由CSS中给出的官方定义,px其实并不是一种相对长度存在,而是绝对长度。之前被作为相对单位存在(参见下文note)。参见https://www.w3.org/TR/2016/CR-css-values-3-20160929/#absolute-lengths

    简单粗暴谷歌翻译之:

    CSS中的绝对长度单位相对于彼此是一个固定值,当输出环境已知时尤其适用。绝对单位由物理单位(in,cm,mm,pt,pc,q)和视角单位组成(px)。所有这些absolute length units 都是兼容的,且px为它们的规范单位。

    对于打印介质和类似的高分辨率设备,anchor unit应为标准物理单位(英寸,厘米等)之一。对于较低分辨率的设备和观看距离unusual的设备,推荐像素单位,并尽量选择近似于参考像素的设备像素的整数--- 这里引出,什么是reference pixel?device pixel?

    reference pixel:参考像素

    The reference pixel is the visual angle of one pixel on a device with a pixel density (分辨率,此处说是pixel density,但与density还有区别,density是一个ratio,DPI / (160像素/英寸)  后得到的值,常见1.5,1.0)of 96dpi and a distance from the reader of an arm’s length.For a nominal arm’s length of 28 inches,the visual angle is therefore about 0.0213 degrees.For reading at arm’s length,1px thus corresponds to about 0.26 mm (1/96 inch).

    从一臂之遥看解析度为96DPI的设备上的一个像素,此时的visual angle(说视角有点奇怪,可以映射为像素点的大小)。若臂长28inch为标准,则该视角约为0.0213°。此时1PX对应1/96英寸,即0.26mm。结合上文,即参考像素是在96dpi下换算出来的具有固定物理长度的量。

    Note:像素单位和物理单位的定义不同于以前的CSS版本。在CSS的先前版本中,像素和物理单位不通过固定比率相关:物理unit总是与其物理测量相关,而像素单位会vary以接近参考像素。(这个更改是因为太多现有内容依赖于96dpi的假设,打破这一假设破坏了内容。)

    而device pixel,可以参见上文关于打印机和屏幕分辨率的内容,个人理解是要根据上下文来判断,当device pixels为复数时更可能指的是分辨率,单个pixel其实并无意义,或者参照reference pixel,把解析度96dpi换成该设备的实际DPI。

    下图(图1-1)展示了设备的分辨率对像素单元的影响:1×1像素的区域在低分辨率设备(例如典型的计算机显示器)中被单个点覆盖,同一区域在更高分辨率的设备(例如打印机)中被16个dots覆盖因此相同的近似观看距离下,高分辨率设备拥有更多的设备像素(点)来覆盖上的1px乘1px区域。



    图1-1      pixel in screen      from w3c.org


    fig 1-2    from w3c.org 可见观察距离对参考像素大小的影响:71厘米(28英寸)的阅读距离导致0.26毫米的参考像素,而3.5米(12英尺)的阅读距离导致参考像素为1.3mm。


    表1  px作为absolute length units与常用physical 换算关系

      name equivalence
    cm centimeters 1cm = 96px/2.54
    mm millimeters 1mm = 1/10th of 1cm
    Q quarter-millimeters 1q = 1/40th of 1cm
    in inches 1in = 2.54cm = 96px
    pc picas 1pc = 1/6th of 1in
    pt points 1pt = 1/72th of 1in
    px pixels 1px = 1/96th of 1in

    ----

    以上已经出现了不少概念,可以引出devicePixedRatio的概念,请参见(二)

    展开全文
  • 最近看了很多这方面的文章,能搜到的基本看了个遍,但感觉...虚拟像素,可以理解为“直觉”像素,CSS和JS使用的抽象单位,浏览器内的一切长度都是以CSS像素为单位的,CSS像素的单位是px。 1.2 注意 在CSS规范中

    最近看了很多这方面的文章,能搜到的基本看了个遍,但感觉还是似懂非懂,知道这个东西,很难说出这是个什么东西,先整理一些概念,慢慢消化,以后慢慢探索其中的原因。

    1、PX(CSS pixels)

    1.1 定义

    虚拟像素,可以理解为“直觉”像素,CSSJS使用的抽象单位,浏览器内的一切长度都是以CSS像素为单位的,CSS像素的单位是px

    1.2 注意

    CSS规范中,长度单位可以分为两类,绝对(absolute)单位以及相对(relative)单位。px是一个相对单位,相对的是设备像素(device pixel)。

    在同样一个设备上,每1个CSS像素所代表的物理像素是可以变化的(即CSS像素的第一方面的相对性); 

    在不同的设备之间,每1个CSS像素所代表的物理像素是可以变化的(即CSS像素的第二方面的相对性);

    1.3 那么PX到底是什么?

    px实际是pixel(像素)的缩写,根据 维基百科的解释,它是图像显示的基本单元,既不是一个确定的物理量,也不是一个点或者小方块,而是一个抽象概念。所以在谈论像素时一定要清楚它的上下文!一定要清楚它的上下文!一定要清楚它的上下文!

    不同的设备,图像基本采样单元是不同的,显示器上的物理像素等于显示器的点距,而打印机的物理像素等于打印机的墨点。而衡量点距大小和打印机墨点大小的单位分别称为ppidpi

    ppi:每英寸多少像素数,放到显示器上说的是每英寸多少物理像素及显示器设备的点距。

    dpi:每英寸多少点。

    关于打印机的点距我们不去关心,只要知道 当用于描述显示器设备时ppi与dpi是同一个概念 。

    1.4 CSS像素的真正含义

    由于不同的物理设备的物理像素的大小是不一样的,所以css认为浏览器应该对css中的像素进行调节,使得浏览器中 1css像素的大小在不同物理设备上看上去大小总是差不多 ,目的是为了保证阅读体验一致。为了达到这一点浏览器可以直接按照设备的物理像素大小进行换算,而css规范中使用**"参考像素"**来进行换算。

    1参考像素即为从一臂之遥看解析度为96DPI的设备输出(即1英寸96点)时,1点(即1/96英寸)的视角。它并不是1/96英寸长度,而是从一臂之遥的距离处看解析度为96DPI的设备输出一单位(即1/96英寸)时视线与水平线的夹角。通常认为常人臂长为28英寸,所以它的视角是:
    (1/96)in / (28in * 2 * PI / 360deg) = 0.0213度。

    由于css像素是一个视角单位,所以在真正实现时,为了方便基本都是根据设备像素换算的。浏览器根据硬件设备能够直接获取css像素

    1.5 举个栗子来理解css像素的相对性

    作为Web开发者,我们接触的更多的是用于控制元素样式的样式单位像素。这里的像素我们称之为CSS像素。

    CSS像素有什么特别的地方?我们可以借用quirksmode中的这个例子:

    假设我们用PC浏览器打开一个页面,浏览器此时的宽度为800px,页面上同时有一个400px宽的块级元素容器。很明显此时块状容器应该占页面的一半。

    但如果我们把页面放大(通过“Ctrl键”加上“+号键”),放大为200%,也就是原来的两倍。此时块状容器则横向占满了整个浏览器。

    吊诡的是此时我们既没有调整浏览器窗口大小,也没有改变块状元素的css宽度,但是它看上去却变大了一倍——这是因为我们把CSS像素放大为了原来的两倍。

    CSS像素与屏幕像素1:1同样大小时:

    CSS像素(黑色边框)开始被拉伸,此时1个CSS像素大于1个屏幕像素

    也就是说默认情况下一个CSS像素应该是等于一个物理像素的宽度的,但是浏览器的放大操作让一个CSS像素等于了两个设备像素宽度。在后面你会看到更复杂的情况,在高PPI的设备上,CSS像素甚至在默认状态下就相当于多个物理像素的尺寸。

    从上面的例子可以看出,CSS像素从来都只是一个相对值。

    2、DP(device pixels)

    2.1 定义

    设备像素(物理像素),顾名思义,显示屏是由一个个物理像素点组成的,通过控制每个像素点的颜色,使屏幕显示出不同的图像,屏幕从工厂出来那天起,它上面的物理像素点就固定不变了,单位pt

    2.2 注意

    ptcss单位中属于真正的绝对单位,1pt = 1/72(inch),inch及英寸,而1英寸等于2.54厘米。

    不同的设备,其图像基本单位是不同的,比如显示器的点距,可以认为是显示器的物理像素。现在的液晶显示器的点距一般在0.25mm0.29mm之间。而打印机的墨点,也可以认为是打印机的物理像素,300DPI就是0.085mm600DPI就是0.042mm

    注意,我们通常所说的显示器分辨率,其实是指桌面设定的分辨率,而不是显示器的物理分辨率。只不过现在液晶显示器成为主流,由于液晶的显示原理与CRT不同,只有在桌面分辨率与物理分辨率一致的情况下,显示效果最佳,所以现在我们的桌面分辨率几乎总是与显示器的物理分辨率一致了。

    2.3 小知识

    小知识:屏幕普遍采用RGB色域(红、绿、蓝三个子像素构成),而印刷行业普遍使用CMYK色域(青、品红、黄和黑)

    2.4 设备像素(DP)与CSS像素之间的关系

    获得设备像素比(dpr)后,便可得知设备像素与CSS像素之间的比例。当这个比率为1:1时,使用1个设备像素显示1个CSS像素。当这个比率为2:1时,使用4个设备像素显示1个CSS像素,当这个比率为3:1时,使用9(3*3)个设备像素显示1个CSS像素。
    所以,有如下公式:

    DPR = 设备像素/CSS像素

    3、DIP(Device independent Pixel)

    设备独立像素,也称为逻辑像素,简称dip
    根据上述设备像素与CSS像素之间的关系、及DPR的官方定义,我们可以推断出:

    CSS像素 =设备独立像素 = 逻辑像素

    下面,还是引用 http://www.cnblogs.com/2050/p/3877280.html 文中的内容说明:

    在移动端浏览器中以及某些桌面浏览器中,window对象有一个devicePixelRatio属性,它的官方的定义为:设备物理像素和设备独立像素的比例,也就是 devicePixelRatio = 物理像素 / 独立像素
    CSS像素就可以看做是设备的独立像素,所以通过devicePixelRatio,我们可以知道该设备上一个css像素代表多少个物理像素。例如,在Retina屏的iphone上,devicePixelRatio的值为2,也就是说1个css像素相当于2个物理像素。但是要注意的是,devicePixelRato在不同的浏览器中还存在些许的兼容性问题,所以我们现在还并不能完全信赖这个东西,具体的情况可以看下这篇文章

    为什么是“每四个一组”?而且要让这四个一组来显示“原来屏幕的一个像素”?这大概就是 Retina 显示技术的一种表现吧。而这“每四个一组”的“大像素”,可以被称作“设备独立像素”,device independent pixel ,或者 density-independentpixel ,它可以是系统中的一个点,这个点代表一个可以由程序使用的虚拟像素,然后由相关系统转换为物理像素。

    “设备独立像素”也有人称为“CSS像素”,一种形象的说法,更倾向于表明与 CSS 中尺寸的对应。

    设备独立像素与物理像素的对应关系,可以这样看:

    类似的每四个一组的对应关系,也许正是 Retina 显示技术所做的。

    4、DPR(device pixels ratio)

    4.1 定义

    设备像素比(dpr 描述的是未缩放状态下,物理像素CSS像素的初始比例关系,计算方法如下图。

    4.2 理解

    设备像素比(dpr) 是指在移动开发中1个css像素占用多少设备像素,如2代表1个css像素用2x2个设备像素来绘制。

    设备像素比(dpr),公式为1px = (dpr)^2 * 1dp,可以理解为1px由多少个设备像素组成;

    5、PPI(pixels per inch)

    5.1 定义

    每英寸像素取值,更确切的说法应该是像素密度,也就是衡量单位物理面积内拥有像素值的情况。

    5.2 ppi是如何计算出来的呢?

    顾名思义,每英寸的像素点(设备像素),已知屏幕分辨率和主对角线的尺寸,则ppi等于
    以爱疯6为例:

    var 斜边尺寸 = V(1920^2+1080^2) V代表开根号 
    var ppi = 斜边尺寸/5.5 
    ppi = 401ppi
    

    我们知道,ppi越高,每英寸像素点越多,图像越清晰;我们可以类比物体的密度,密度越大,单位体积的质量就越大,ppi越高,单位面积的像素越多。

    5.3 ppi和dpr到底什么关系?

    毕竟这些参数是外国人先发明的,他们会优先选择自己熟悉的计量单位作为显示设备的工厂标准参数,因此ppi就用作显示设备的工业标准;

    告诉业界人士,ppi达到多少是高清屏,此时对应的dpr是多少,而不直接告诉你我现在的显示设备dpr是多少,毕竟人们直接听到像素分辨率会更加有反应。

    设备像素比与ppi相关,一般是ppi/160的整数倍:

    6、倍率与逻辑像素

    6.1 基本关系


    用iPhone 3gs和4s来举例。假设有个邮件列表界面,我们不妨按照PC端网页设计的思维来想象。3gs上大概只能显示4-5行,4s就能显示9-10行,而且每行会变得特别宽。但两款手机其实是一样大的。如果照这种方式显示,3gs上刚刚好的效果,在4s上就会小到根本看不清字。

    在现实中,这两者效果却是一样的。这是因为Retina屏幕把2x2个像素当1个像素使用。比如原本44像素高的顶部导航栏,在Retina屏上用了88个像素的高度来显示。导致界面元素都变成2倍大小,反而和3gs效果一样了。画质却更清晰。

    在以前,iOS应用的资源图片中,同一张图通常有两个尺寸。你会看到文件名有的带@2x字样,有的不带。其中不带@2x的用在普通屏上,带@2x的用在Retina屏上。只要图片准备好,iOS会自己判断用哪张,Android道理也一样。

    由此可以看出,苹果以普通屏为基准,给Retina屏定义了一个2倍的倍率(iPhone 6plus除外,它达到了3倍)。实际像素除以倍率,就得到逻辑像素尺寸。只要两个屏幕逻辑像素相同,它们的显示效果就是相同的。

    6.2 Retina显示屏

    这是一种显示技术,可以将把更多的像素点压缩至一块屏幕里,从而达到更高的分辨率并提高屏幕显示的细腻程度,这种分辨率在正常观看距离下足以使人肉眼无法分辨其中的单独像素。

    最先使用retina屏幕是iphone 4,屏幕分辨率为960 * 640(326ppi)。

    对比如下两幅图,可以清晰地看出是否 Retina 屏的显示差异:

    图2 iPhone 3GS


    图3 iPhone 4

    两代iPhone 的物理尺寸(屏幕宽高有多少英寸)是一样的,从上图可以看出,iphone 4的显示效果要明显好于iphone 3GS,虽然 iPhone 4 分辨率提高了,但它不同于普通的电脑显示器那样为了显示更多的内容,而是提升显示相同内容时的画面精细程度。这种提升方式是靠提升单位面积屏幕的像素数量,即像素密度来提升分辨率,这样做的主要目的是为了提高屏幕显示画面的精细程度。以第三代 MacBook Pro with Retina Display为例, 工作时显卡渲染出的2880x1880个像素每四个一组,输出原来屏幕的一个像素显示的大小区域内的图像。这样一来,用户所看到的图标与文字的大小与原来的1440x900分辨率显示屏相同,但精细度是原来的4倍。

    注意:在桌面显示器中,我们调整了显示分辨率,比如从 800 * 600 调整到 1024 * 768 时,屏幕的文字图标会变小,显示的内容更多了。但 Retina 显示方式不会产生这样的问题,或者说, Retina 显示技术解决的是显示画面精细程度的问题,而不是解决显示内容容量的问题。

    7、分辨率、像素和屏幕尺寸

    PPI 说的是像素密度,而分辨率说的是块屏幕的像素尺寸,譬如说 1334*750 就是 iPhone(6~7)的分辨率,说 iPhone(6~7)的分辨率是 326 是错误的表述,326 是它的像素密度,单位是 PPI

    询问别人一粒像素有多大是一个非常鸡贼的问题(小心面试遇到这样的题),虽然我们说像素是构成屏幕的发光的点,是物理的,但是像素在脱离了屏幕尺寸之后是没有大小可言的,你可以将 1920 * 1080 颗像素放到一台 40 寸的小米电视机里面,也可以将同样多的像素全部塞到一台 5.5 寸的 iPhone7 Plus 手机里面去,那么对于 40 寸的电视而言,每个像素颗粒当然会大于 5.5 寸的手机的像素。

    所以光看屏幕的分辨率对于设计师来说是不具备多少实际意义的,通过分辨率计算得出的像素密度(PPI)才是设计师要关心的问题,我们通过屏幕分辨率和屏幕尺寸就能计算出屏幕的像素密度的。

    再次使用 iPhone(6~7)作为例子。我们知道该屏幕的横向物理尺寸为 2.3 英寸 ,且横向具有 750 颗像素,根据下面的公式,我们能够算出 iPhone(6~7)的屏幕是 326 PPI,意为每寸存在 326 颗像素。

    其实不论我们怎么除,计算得出来的像素密度(PPI)都会是这个数,宽存在像素除以宽物理长度,高存在像素除以高物理长度,得数都接近于 326。

    8、Viewport

    8.1 PPK的关于三个viewport的理论

    ppk大神对于移动设备上的viewport有着非常多的研究(第一篇第二篇第三篇),有兴趣的同学可以去看一下,本文中有很多数据和观点也是出自那里。ppk认为,移动设备上有三个viewport。

    首先,移动设备上的浏览器认为自己必须能让所有的网站都正常显示,即使是那些不是为移动设备设计的网站。但如果以浏览器的可视区域作为viewport的话,因为移动设备的屏幕都不是很宽,所以那些为桌面浏览器设计的网站放到移动设备上显示时,必然会因为移动设备的viewport太窄,而挤作一团,甚至布局什么的都会乱掉。也许有人会问,现在不是有很多手机分辨率都非常大吗,比如768x1024,或者1080x1920这样,那这样的手机用来显示为桌面浏览器设计的网站是没问题的吧?前面我们已经说了,css中的1px并不是代表屏幕上的1px,你分辨率越大,css中1px代表的物理像素就越多,devicePixelRatio的值也越大,这很好理解,因为你分辨率增大了,但屏幕尺寸并没有变大多少,必须让css中的1px代表更多的物理像素,才能让1px的东西在屏幕上的大小与那些低分辨率的设备差不多,不然就会因为太小而看不清。所以在1080x1920这样的设备上,在默认情况下,也许你只要把一个div的宽度设为300多px(视devicePixelRatio的值而定),就是满屏的宽度了。回到正题上来,如果把移动设备上浏览器的可视区域设为viewport的话,某些网站就会因为viewport太窄而显示错乱,所以这些浏览器就决定默认情况下把viewport设为一个较宽的值,比如980px,这样的话即使是那些为桌面设计的网站也能在移动浏览器上正常显示了。ppk把这个浏览器默认的viewport叫做 layout viewport
       
    这个layout viewport的宽度可以通过document.documentElement.clientWidth 来获取。

    然而,layout viewport 的宽度是大于浏览器可视区域的宽度的,所以我们还需要一个viewport来代表 浏览器可视区域的大小,ppk把这个viewport叫做 visual viewport 。visual viewport的宽度可以通过window.innerWidth 来获取,但在Android 2, Oprea mini 和 UC 8中无法正确获取。

    现在我们已经有两个viewport了:layout viewport 和  visual viewport。但浏览器觉得还不够,因为现在越来越多的网站都会为移动设备进行单独的设计,所以必须还要有一个能完美适配移动设备的viewport。所谓的完美适配指的是,首先不需要用户缩放和横向滚动条就能正常的查看网站的所有内容;第二,显示的文字的大小是合适,比如一段14px大小的文字,不会因为在一个高密度像素的屏幕里显示得太小而无法看清,理想的情况是这段14px的文字无论是在何种密度屏幕,何种分辨率下,显示出来的大小都是差不多的。当然,不只是文字,其他元素像图片什么的也是这个道理。ppk把这个viewport叫做 ideal viewport,也就是第三个viewport——移动设备的理想viewport

    ideal viewport并没有一个固定的尺寸,不同的设备拥有有不同的ideal viewport。所有的iphoneideal viewport宽度都是320px,无论它的屏幕宽度是320还是640,也就是说,在iphone中,css中的320px就代表iphone屏幕的宽度。

    但是安卓设备就比较复杂了,有320px的,有360px的,有384px的等等,关于不同的设备ideal viewport的宽度都为多少,可以到http://viewportsizes.com去查看一下,里面收集了众多设备的理想宽度。

    再总结一下:ppk把移动设备上的viewport分为 layout viewport 、 visual viewport 和 ideal viewport 三类,其中的ideal viewport是最适合移动设备的viewportideal viewport的宽度等于移动设备的屏幕宽度,只要在css中把某一元素的宽度设为ideal viewport的宽度(单位用px),那么这个元素的宽度就是设备屏幕的宽度了,也就是宽度为100%的效果。ideal viewport 的意义在于,无论在何种分辨率的屏幕下,那些针对ideal viewport而设计的网站,不需要用户手动缩放,也不需要出现横向滚动条,都可以完美的呈现给用户。

     

    8.2 利用meta标签对viewport进行控制

    移动设备默认的viewportlayout viewport,也就是那个比屏幕要宽的viewport,但在进行移动设备网站的开发时,我们需要的是ideal viewport。那么怎么才能得到ideal viewport呢?这就该轮到meta标签出场了。

    我们在开发移动设备的网站时,最常见的的一个动作就是把下面这个东西复制到我们的head标签中:

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

    meta标签的作用是让当前viewport的宽度等于设备的宽度,同时不允许用户手动缩放。也许允不允许用户缩放不同的网站有不同的要求,但让viewport的宽度等于设备的宽度,这个应该是大家都想要的效果,如果你不这样的设定的话,那就会使用那个比屏幕宽的默认viewport,也就是说会出现横向滚动条。

    这个name为viewportmeta标签到底有哪些东西呢,又都有什么作用呢?

    meta viewport 标签首先是由苹果公司在其safari浏览器中引入的,目的就是解决移动设备的viewport问题。后来安卓以及各大浏览器厂商也都纷纷效仿,引入对meta viewport的支持,事实也证明这个东西还是非常有用的。

    在苹果的规范中,meta viewport 有6个属性(暂且把content中的那些东西称为一个个属性和值),如下:

    这些属性可以同时使用,也可以单独使用或混合使用,多个属性同时使用时用逗号隔开就行了。

    此外,在安卓中还支持  target-densitydpi  这个私有属性,它表示目标设备的密度等级,作用是决定css中的1px代表多少物理像素

    特别说明的是,当 target-densitydpi=device-dpi 时, css中的1px会等于物理像素中的1px。

    因为这个属性只有安卓支持,并且安卓已经决定要废弃<strike>target-densitydpi</strike>  这个属性了,所以这个属性我们要避免进行使用  。

    8.3 把当前的viewport宽度设置为 ideal viewport 的宽度

    要得到ideal viewport就必须把默认的layout viewport的宽度设为移动设备的屏幕宽度。因为meta viewport中的width能控制layout viewport的宽度,所以我们只需要把width设为width-device这个特殊的值就行了。

    <meta name="viewport" content="width=device-width">

    下图是这句代码在各大移动端浏览器上的测试结果:

    可以看到通过width=device-width,所有浏览器都能把当前的viewport宽度变成ideal viewport的宽度,但要注意的是,在iphone和ipad上,无论是竖屏还是横屏,宽度都是竖屏时ideal viewport的宽度。

    这样的写法看起来谁都会做,没吃过猪肉,谁还没见过猪跑啊~,确实,我们在开发移动设备上的网页时,不管你明不明白什么是viewport,可能你只需要这么一句代码就够了。

    可是你肯定不知道

    <meta name="viewport" content="initial-scale=1">

    这句代码也能达到和前一句代码一样的效果,也可以把当前的的viewport变为 ideal viewport

    呵呵,傻眼了吧,因为从理论上来讲,这句代码的作用只是不对当前的页面进行缩放,也就是页面本该是多大就是多大。那为什么会有 width=device-width 的效果呢?

    要想清楚这件事情,首先你得弄明白这个缩放是相对于什么来缩放的,因为这里的缩放值是1,也就是没缩放,但却达到了 ideal viewport 的效果,所以,那答案就只有一个了,缩放是相对于 ideal viewport来进行缩放的,当对ideal viewport进行100%的缩放,也就是缩放值为1的时候,不就得到了 ideal viewport 吗?事实证明,的确是这样的。下图是各大移动端的浏览器当设置了<meta name="viewport" content="initial-scale=1">后是否能把当前的viewport 宽度变成 ideal viewport 的宽度的测试结果。

    测试结果表明 initial-scale=1 也能把当前的 viewport 宽度变成 ideal viewport 的宽度,但这次轮到了windows phone 上的IE 无论是竖屏还是横屏都把宽度设为竖屏时 ideal viewport 的宽度。但这点小瑕疵已经无关紧要了。

    但如果 width 和 initial-scale=1 同时出现,并且还出现了冲突呢?比如:

    <meta name="viewport" content="width=400, initial-scale=1">

    width=400 表示把当前 viewport 的宽度设为400pxinitial-scale=1 则表示把当前 viewport 的宽度设为ideal viewport的宽度,那么浏览器到底该服从哪个命令呢?是书写顺序在后面的那个吗?不是。当遇到这种情况时,浏览器会取它们两个中较大的那个值。例如,当width=400ideal viewport 的宽度为320时,取的是400;当width=400, ideal viewport的宽度为480时,取的是ideal viewport的宽度。(ps:在uc9浏览器中,当initial-scale=1时,无论width属性的值为多少,此时viewport的宽度永远都是ideal viewport的宽度)

    最后,总结一下,要把当前的viewport宽度设为ideal viewport的宽度,既可以设置 width=device-width,也可以设置 initial-scale=1,但这两者各有一个小缺陷,就是iphone、ipad以及IE 会横竖屏不分,通通以竖屏的ideal viewport宽度为准。所以,最完美的写法应该是,两者都写上去,这样就 initial-scale=1 解决了 iphone、ipad的毛病,width=device-width则解决了IE的毛病:

    <meta name="viewport" content="width=device-width, initial-scale=1">

    8.4 关于meta viewport的更多知识

    8.4.1 关于缩放以及initial-scale的默认值

    首先我们先来讨论一下缩放的问题,前面已经提到过,缩放是相对于 ideal viewport 缩放的,缩放值越大,当前viewport的宽度就会越小,反之亦然。例如在iphone中,ideal viewport 的宽度是320px,如果我们设置 initial-scale=2 ,此时 viewport 的宽度会变为只有160px了,这也好理解,放大了一倍嘛,就是原来1px的东西变成2px了,但是1px变为2px并不是把原来的320px变为640px了,而是在实际宽度不变的情况下,1px变得跟原来的2px的长度一样了,所以放大2倍后原来需要320px才能填满的宽度现在只需要160px就做到了。因此,我们可以得出一个公式:

    visual viewport宽度 = ideal viewport宽度 / 当前缩放值

    当前缩放值 = ideal viewport宽度 / visual viewport宽度

    ps: visual viewport 的宽度指的是浏览器可视区域的宽度。

    大多数浏览器都符合这个理论,但是安卓上的原生浏览器以及IE有些问题。安卓自带的webkit浏览器只有在 initial-scale = 1 以及没有设置width属性时才是表现正常的,也就相当于这理论在它身上基本没用;而IE则根本不甩initial-scale这个属性,无论你给他设置什么,initial-scale表现出来的效果永远是1。

    好了,现在再来说下 initial-scale 的默认值问题,就是不写这个属性的时候,它的默认值会是多少呢?很显然不会是1,因为当 initial-scale = 1 时,当前的 layout viewport 宽度会被设为 ideal viewport 的宽度,但前面说了,各浏览器默认的 layout viewport 宽度一般都是980啊,1024啊,800啊等等这些个值,没有一开始就是 ideal viewport 的宽度的,所以 initial-scale 的默认值肯定不是1。安卓设备上的 initial-scale 默认值好像没有方法能够得到,或者就是干脆它就没有默认值,一定要你显示的写出来这个东西才会起作用,我们不管它了,这里我们重点说一下iphone和ipad上的 initial-scale 默认值。

    根据测试,我们可以在iphone和ipad上得到一个结论,就是无论你给 layout viewpor 设置的宽度是多少,而又没有指定初始的缩放值的话,那么iphone和ipad会自动计算 initial-scale 这个值,以保证当前 layout viewport 的宽度在缩放后就是浏览器可视区域的宽度,也就是说不会出现横向滚动条。比如说,在iphone上,我们不设置任何的 viewport meta 标签,此时 layout viewport 的宽度为980px,但我们可以看到浏览器并没有出现横向滚动条,浏览器默认的把页面缩小了。根据上面的公式,当前缩放值 = ideal viewport宽度 / visual viewport宽度,我们可以得出:

    当前缩放值 = 320 / 980

    也就是当前的 initial-scale 默认值应该是 0.33这样子。当你指定了 initial-scale 的值后,这个默认值就不起作用了。

    总之记住这个结论就行了:在iphone和ipad上,无论你给viewport设的宽的是多少,如果没有指定默认的缩放值,则iphone和ipad会自动计算这个缩放值,以达到当前页面不会出现横向滚动条(或者说viewport的宽度就是屏幕的宽度)的目的。

    8.4.2 动态改变meta viewport标签

    第一种方法

    可以使用 document.write 来动态输出 meta viewport 标签,例如:

    document.write('<meta name="viewport" content="width=device-width,initial-scale=1">')

    第二种方法

    通过 setAttribute 来改变

    <meta id="testViewport" name="viewport" content="width = 380">
    <script>
    var mvp = document.getElementById('testViewport');
    mvp.setAttribute('content','width=480');
    </script>

    安卓2.3自带浏览器上的一个 bug

    <meta name="viewport" content="width=device-width">
    
    <script type="text/javascript">
    alert(document.documentElement.clientWidth); //弹出600,正常情况应该弹出320
    </script>
    
    <meta name="viewport" content="width=600">
    
    <script type="text/javascript">
    alert(document.documentElement.clientWidth); //弹出320,正常情况应该弹出600
    </script>

    测试的手机 ideal viewport 宽度为320px,第一次弹出的值是600,但这个值应该是第行meta标签的结果啊,然后第二次弹出的值是320,这才是第一行meta标签所达到的效果啊,所以在安卓2.3(或许是所有2.x版本中)的自带浏览器中,对 meta viewport 标签进行覆盖或更改,会出现让人非常迷糊的结果。

    最后我们来看一个栗子来加深上面概念的印象:

    一只笔的像素如下:

    这只笔在屏幕c,d,e下的显示效果如下:

    看到同一张图片在各屏幕显示大小不一。
    我们希望不同屏幕显示图片的大小要一致。
    我们要计算图片缩放比例。
    计算公式:
    (图片逻辑像素大小px1) / (图片缩放后实际像素大小px2) = (设备像素dp) / (设备独立像素dips)
    px2 = px1 * (dp / dips)
    px2 = px1 * dpr
    此时,这只笔在屏幕c,d,e下的显示效果如下:

    通过上面的我们可以看到,不同的 DPR (设备像素比)要想显示大小一样,必须准备三张不同分辨率的图片,那么,我想一张图片就在三种不同的屏幕下显示一样的大小,能做到吗?当然能做到,这就需要缩放了,要自己计算缩放多麻烦,那有没有一种简单的方式呢?当然有,那就是你在熟悉不过的px,你会发现设置图片宽度为50px以后,在各个移动终端的大小看起来都一样,这是什么原因呢。

    按照 CSS 规范的定义,CSS 中的 px 是一个相对长度,它相对的,是 viewing device 的分辨率。这个viewing device,通常就是电脑显示器。典型的电脑显示器的分辨率是96DPI,也就是1像素为1/96英寸(实际上,假设我们的显示器分辨率都与物理分辨率一致,而液晶点距其实是0.25mm到0.29mm之间,所以不太可能是正好1/96英寸,而只是接近)。

    一般来说,px 就是对应设备的物理像素,然而如果输出设备的解析度与电脑显示器大不相同,输出效果就会有问题。例如打印机输出到纸张上,其解析度比电脑屏幕要高许多,如果不缩放,直接使用设备的物理像素,那电脑上的照片由 600DPI 的打印机打出来就比用显示器看小了约6倍。

    所以 CSS 规定,在这种情况下,浏览器应该对像素值进行缩放调节,以保持阅读体验的大体一致。也就是要保持一定像素的长度在不同设备输出上看上去的大小总是差不多。

    怎样确保这一点呢?直接按照设备物理像素的大小进行换算当然是一个方式,但是CSS考虑得更多,它建议,转换应按照“参考像素”(reference pixel)来进行。

    眼睛看到的大小,取决于可视角度。而可视角度取决于物体的实际大小以及物体与眼睛的距离。10米远处一个1米见方的东西,与1米远处的10厘米见方的东西,看上去的大小差不多是一样的,所谓一叶障目不见泰山,讲的就是这个常识。

    因此CSS规范使用视角来定义“参考像素”,1参考像素即为从一臂之遥看解析度为96DPI的设备输出(即1英寸96点)时,1点(即1/96英寸)的视角。

    请注意这个差别——CSS规范定义的参考像素并不是1/96英寸,而是1/96英寸在一臂之遥的看起来的视角。通常认为常人臂长为28英寸,所以其视角可以计算出来是0.0213度。(即(1/96)in / (28in * 2 * PI / 360deg) )

    我们在使用不同设备输出时,眼睛与设备输出的典型距离是不同的。比如电脑显示器,通常是一臂之距,而看书和纸张时(对应于打印机的设备输出),则通常会更近一些。看电视时则会更远,比如一般建议是电视机屏幕对角线的2.5到3倍长——如果你是个42'彩电,那就差不多是3米远。看电影的话……我就不知道多远了,您自己量吧。

    因此,1参考像素:
    对于电脑显示器是0.26mm(即1/96英寸);
    对于激光打印机是0.20mm(假设阅读距离通常为55cm,即21英寸);

    而换算时,对于300DPI的打印机(即每个点是1/300英寸),1px通常会四舍五入到3dots,也就是0.25mm左右;而对于600DPI的打印机,则可能四舍五入到5dots,也就是0.21mm。

    上图中,左边的屏幕(可以认为是电脑屏幕)的典型视觉距离是71厘米即28英寸,其1px对应了0.28mm;
    而右边的屏幕(可以认为是你的42寸高清电视)的典型视觉距离是3.5米即120英寸,其1px对应1.3mm。42寸的1080p电视,分辨率是1920*1080,则其物理像素只有0.5mm左右,可见确实是高清哦。

    综上,px 是一个相对单位,而且在特定设备上总是一个近似值(原则是尽量接近参考像素)。

    然而,如果你把绝对单位理解为对输出效果的绝对掌控,事情却大相径庭。就网页输出的最主要对象——电脑屏幕来说,px 可被视为一个基准单位——与桌面分辨率一致,如果是液晶屏,则几乎总是与液晶屏物理分辨率一致——也就是说网页设计者设定的1px,就是“最终看到这个网页的用户的显示器上的1个点距”!反倒是那些绝对单位,其实一点也不绝对。


    展开全文
  • 图片的像素和分辨率 对于像素和分辨率这两个词,主要见于图片和显示设备上。只要你用到手机里的照相功能,你都要接触到这两个概念。只是大多数人都是一知半解,而更多的人却根本就不知道,白白浪费了手机里500万...

    图片的像素和分辨率

    对于像素和分辨率这两个词,主要见于图片和显示设备上。只要你用到手机里的照相功能,你都要接触到这两个概念。只是大多数人都是一知半解,而更多的人却根本就不知道,白白浪费了手机里500万、800万像素的摄影头,却不知道如何调节使用。

    像素是组成图象的最基本单元要素:点。分辨率是指在长和宽的两个方向上各拥有的像素个数。一个像素有多大呢?主要取决于显示器的分辨率,相同面积不同分辨率的显示屏,其像素点大小就不相同。

    大家都知道线是由无数个点组成的,而面是由无数条线组成,即一个平面是由无数个点所组成。但无论技术多先进发达,人类总是不可能做到一幅图象由无数个点来构成的境界,只能在长和宽的方向上由有限个点组成而已。

    这些有限的点就叫做像素,每一个长度方向上的像素个数乖每一个宽度方向上的像素个数的形式表示,就叫做图片的分辨率。

    如一张640X480的图片,表示这张图片在每一个长度的方向上都有640个像素点,而每一个宽度方向上都480个像素点,总数就是640X480=307200(个像素),简称30万像素。

    显然单位面积上像素点越多即像素点越小,这图片就越清晰细腻。

    那这个像素点究竟有多大小呢?单纯从图片来说是不能确定这个点有多大的。这个大小和显示屏的分辨率息息相关。

    显示屏的分辨率

    显示屏的尺寸是指其对角线的长度,用英寸表示,1英寸=25.4毫米。

    我们以一款手机为例来说明这个问题。其主屏尺寸:4寸,主屏分辨率:800x480像素,通过勾股定理计算可知其长宽为3.430X2.058寸(87.1毫米X52.3毫米)。800/3.430=233,即每英寸长度有233个像素,每一个像素有87.1/800=0.109毫米大。

    就是说这个手机的显示屏共由800X480=384000个边长为0.109毫米大小相等的像素点所组成。任何一张图片在这个显示器里百分之百全屏显示时(图片作为墙纸或屏保时效果最好),其像素点都是这么大。如果图片大过显示屏,则要滑动滚动条才能看完全图,如果小于显示屏,则会居中显示,无图显示处为黑框显示。对于640X480分辨率的图,在此显示屏中会居中显示,在长度方向上两端会有一截为黑框显示。这个图片的尺寸长为69.68毫米,宽为52.3毫米。如果是在光线不足的条件下照得的相片,你会看到一格格的马赛克,画面很是粗糙。

    而对于4.3寸主屏,若其分辨率:1280x720像素,则长和宽3.746X2.10895.2毫米X53.5毫米),1280/3.746=341,即每英寸长度有341个像素,每一个像素有95.2/1280=0.074毫米大。显而易见这个屏幕比前面那个屏显示的效果好得多了。640X480分辨率的图片在这里的长和宽分别为47.6毫米和35.7毫米。

    对于4.5寸主屏,若其分辨率为:1280x720像素,则长和宽3.923X2.20699.6毫米X56.0毫米),1280/3.923=326,即每英寸长度上有326个像素,每一个像素有99.6/1280=0.078毫米。和前面的4.3寸屏差不多。

    17寸液晶显示器(54),其分辨率:1280X1024,每英寸长度上有96个像素点;每个边长为0.263毫米。

    19寸普屏显示器(54),其分辨率:1280X1024,每英寸长度上有86个像素点;每个边长为0.294毫米。

    19寸宽屏显示器(169),其分辨率:1366X768,每英寸长度上有82个像素点;每个边长为0.308毫米。

     

    19寸宽屏显示器(1610),其分辨率:1440X900,每英寸长度上有89个像素点;每个边长为0.284毫米。

    这个每英寸长度上的像素数个数叫做影像分辨率,简称PPIpixeleperinch英文缩写)。如每英寸长度上有82个像素点,即用82PPI来表示。

    所以说同一张图片,在不同的PPI(影像分辨率)显示屏上其尺寸是不相同的,   像素点的大小就和这个影像分辨率有关。

     

    相机里图片的尺寸

     

    摄像头也和我们人类的单个眼睛一样,当然了,人单个眼睛左右有160度的视野范围,上下有120度的视野范围。而现在最大的超广角数码相机也很难达到这个范围。据说鱼眼镜头相机的视角范围可以达到220230度。但无论是其视角有多大,在左右的长度和上下的宽度方向上的比例是和人眼睛一样的,即160120=43。所以所成图片的尺寸也是采用这个比例的居多,如:

    5万像素480X320=153600

    20万像素640X320=204800

    30万像素640X480=307200

    50万像素800X600=480000

    80万像素1024X768=786432

    100万像素1140X900=1026000

    130万像素1280X960=1228800

    200万像素1600X1200=1920000

    300万像素2048X1536=3145728

    500万像素2576X1932=49768322592X1944=50388482560X1920=4915200

    800万像素3264X2448=7990272

    1000万像素3648X2736=9980928

    1200万像素4000X3000=12000000

    1400万全线4228X3264=13800192

    也有采用169,如

    900万像素4000X2256=9024000

    更有采用32的呢!如

    600万像素3000X2000=6000000

    1100万像素4000X2664=10656000

    还有采用54的,如

    130万像素1280X1024=1310720

    当然还有采用黄金分割系数的,即1610=1.61=10.618,如

    100万像素1280X800=960000

    现在手机的摄像头大多数都是500万像素和800万像素,也有少数1200万像素的。最高像素的当属诺基亚新推出的智能机808了,达到了史无前例的4100万像素7728X5368=41483904像素。网上报价竟然4000元都不到,而这个像素级别的数码相机却要上10万元钱呢!6000万像素的哈苏单反H4D60更是要20多万元。

    我们人类的眼睛就是一个超级数码相机,视网膜上的每一个细胞都是一个感光细胞,也就是像素。那么人的眼睛究竟有多少像素呢?据研究有5.76亿个。听说有人已经造出了10亿像素的相机,不过都是用在天文研究或军事应用上,个人用不起呀。也许在不久的以后就能广泛民用了。

    显而易见,显示屏的长宽尺寸比例也应该按这个来做才对。一般显示屏最佳分辨率如下:

    15"普屏液晶(1024×768)——43

    17"普屏液晶(1280×1024)——54

    19"普屏液晶(1280×1024)——54

    19"宽屏液晶(1440×900 ——1610

    20"普屏液晶(1600×1200( 1400*1050) ——43

    20"宽屏液晶(1680×1050)——1610

    21"普屏液晶(1600×1200 ——43

    22"宽屏液晶(1680×1050 ——1610

    23"普屏液晶(1600×1200 ——43

    23"宽屏液晶(1920×1200)——1610

    24寸宽屏液晶(1920×1200)——1610

     

    能否在太空看长城?

     

    也许有人会问,我们的眼睛最小能看到多细的物体呢?

    有关研究资料说,人的眼睛最小能看到0.020.01毫米粗细的小点。也就是12702540PPI

    曾有人信誓旦旦的说:“长城是在太空上能见到的惟一的人工建筑”,你相信吗?能否在太空看长城?按近大远小的道理,在太空中看到的长城有多大呢?

    常教导小朋友说:看书时,书要离眼睛一尺远。可见人的眼睛在离物约33厘米左右视物是最佳的距离。太近了不仅不会看得更清楚,反而会视物模糊,久了就会近视眼。

    我们假设有个非常牛的航天员,能看得清50厘米外0.01毫米粗细的小点。那么长城有多宽呢?假设处处都有10米宽吧!我们假设天气非常的好,格外的清新,万里无云。

    则有0.5X10/0.00001=500000=500公里,也就是说,我们的航天员在500公里高的太空中,看到的长城就是0.01毫米粗的细丝而已。而航天器一般离地球表面都在340公里左右,就按340公里算吧。在这个高度看到的长城是什么样的情况呢?

    像素是什么意思?一个像素有多大?告诉你像素和分辨率的关系!
        1.8X340/10=1.8X34=61.2(公里),也就是说,等于你看着61.2公里远处站着个1.8米高的人墙一样。

    10X10/350000=0.0002857143(米)=0.3(毫米),一粒芝麻都有1毫米大,就当是0.3毫米宽的红布带吧!350公里高空的宇航员看长城就相当于看10米远处0.3毫米宽的红布带。

    如果大家还不明白,再以头发来打个比喻吧!

    我们的头发大约是0.05毫米粗。在光线充足和视力非常好的条件下,且放置头发的背景是白色情况下。在2米远应该能看得到头发的,你能在5米外看得到吗?假设是刚好可以看得到吧!还是假设长城处处都有10米宽!

    5X10/0.00005=100万米=1000公里,也就是说在1000公里远处看到的长城就象一根头发线一样。对于在340多公里高空飞行的航天器来说,宇航员能看得到的长城,0.00005340000/10=1.7,相当于你看着1.7米远处的一根头发而已。1(340/10)=34(公里),也就是说和你看着34公里远处有个1米高的小孩子一样。你说有可能看得到吗?

    所以说,大空看长城是不可能的事情。飞机上看长城却是没有问题的。

     

    像素点里面还有些什么?

     

    像素组成的图像叫位图或者光栅图像,点阵图,像素图形,网格图。(光栅一词源于模拟电视技术,我们的电视信号就是模拟信号。)。

    在一般情况下,像素它是一块正方形,带有高度、色调、色相、色温、灰度等的颜色信息,一定数量的颜色有别的正方形小块排列组合,用以表示一幅点阵图像,也就是位图图像。通过数码相机拍摄、扫描仪扫描或位图软件输出的图像都是位图。

    一张位图,颜色信息越是丰富,则图片的容量就越大。在光线充足的环境下所得的图片,其容量往往都很大。本人1200万像素的图片,最小的为2.2M字节,最大的有6M字节之多。

    研究表明超过300ppi(像素点0.085毫米)人眼就察觉不出颗粒感。我们所照的相片,如果都是以百分之一百大显示的话,你一定发现全部都是马赛克图,其状惨不忍睹呀!

    当图片的分辨率大于显示屏的分辨率时,显示屏会把图片按比例相对的宿小。相当于把图片的两个或多个像素在显示屏上以一个像素显示出来。所以我们的图片分辨率越大,看到的图片就越清晰细腻逼真。所以我们照相的时候,一定要用最大的分辨率来照相。到数码冲印店打印出来的图象也是比低像素的清晰明了呀!分辨率太低,有时想用来做墙纸都不行。

    像素值和最终打印出相片大小的关系 

                  

    经常有人问:我的图片是2048X1536,能出5寸照吗?我的相机是500W像素,最大能打印出几寸的相片?这个问题说简单也很简单,说不简单也不简单。对此我们只需要关心三个指标:

    像素数,打印精度,画幅大小。

    由于相机上的图片是4:3模式(3:21691610),而照片的画幅可就不一定了:有3:2,4:3,5:3.5等。

    通常表示照片规格会用来表示,和显示器之类的产品用对角线长度表示尺寸的方式不同,照片所说的几寸是指照片长度方向上的一边的英寸长度,一般四舍五入取整数表示1寸相片其规格为1X1.4,1.4长那边的尺寸来表示,即1;5寸相规格是尺寸5X3.5,用长边尺寸5表示其照片的规格

    而国际上还有一种通行的表示照片尺寸的方法,即取照片短的一边的英寸整数数值加字母R来表示。比如5寸照片,规格为5X3.5英寸,即3R6寸照片,规格为6×4英寸,即4R

    打印精度,就是每英寸长度方向上打印机打印的像素点数dpi,一般都是300dpi为标准。120dpi是最低要求,150dpi是安全达标下限。一般来说有250dpi就行了。所以说一般都是用250dpi来计算打印相片所要求图片的最低分辨率。

    2048/5=409.6,很明显符合要求!300W像素,拍下来的一般是2048长度, 2048/300=6.83寸,可知冲印7寸,没有任何问题!当然了,如果你用1280X960像素的图片来冲印7寸的相片,那相当于把图片在显示屏上放大了一样,固然是不清晰了。

    800万像素3264X24483264/300=10,显然打印10寸的相片是刚刚好,但这是百分之一百显示出来的,其清晰度可想而知是多难看的了。除非是在非常优的环境下照的相。但若打印成7寸相片,机器自然会调整参数把图片相应缩小处理,这样打印出来的相片就清晰得多了。
       黑白照已经成为了历史。彩色照片正是横行无忌之时。也许在不久的将来就是立体相片的天下了。

    现在办居住证等证件都是采用1寸相片。其尺寸为1X1.525mm×35mm)。

    若以300dpi 来计算,5X300=1500,则100万像素1140X900=1026000的图片打印不出5寸的相片来的。必须要200万像素1600X1200=1920000才行。就算以250dpi5X250=1250)也还是不行的。必须要130万像素1280X960=1228800才行。

    拍摄分辨率÷300dpi=输出尺寸(最佳)

    拍摄分辨率÷250dpi=输出尺寸(一般要求,下面的要求最低分辨率即以此算。)

     

    常用照片尺寸 照片规格(英寸) (毫米) (要求最低分辨率250dpi)

     

     111X1.5  25mm×35mm 彩照居住证、厂牌、申请表等档案类和学生证等小本证件上用的多;

    1  黑白小一寸22mmX32mm(好象淘汰了,网上好多资料都是错误的复制粘贴。)

    驾驶证彩色一寸22mmX32mm

    彩色小一寸27mmX38mm

    第二代身份证26mmX32mm

    大一寸33mmX48mm护照(包括港澳通行证),旅行证件、毕业证等证件用。

    1R1寸)26mmX37mm

    221.5X2 35mmX49mm

    小二寸35mmX45mm

    大二寸35mmX53mm

    2R2寸) 63mm×89mm

    353R5X3.5  127mmX89mm 1280X960130万像素),1280X800100万像素),1140X900100万像素),1280X1024130万像素)。这是我们最常用的相片。

    464R6X4  152mmX102mm  1600X1200200像素万)。

    575R7X5 178mmX127mm  2048X1536300万像素)。

    686R8X6 203mmX152mm  2048X1536300万像素)。

    7108R10X8 254mmX203.2mm  2576X19322592X19442560X1920500像素)。

    81212X10 304.8mmX254mm  3000X2000600万像素),3264X2448800万像素)。

    91414X12 355.6mmX304.8mm  3648X27361000万像素)

    101612X16 304.8mm X406.4mm 4000X2256900像素),4000X26641100万像素)4000X30001200万像素)。

    111814X18 355.6mm X457.2mm(略)。

    121812X18 304.8mmX457.2mm(略)。

    132016X20 406.4mmX508mm(略)。

    142018X20 457.2mmX508mm(略)。

    152420X24 508mmX609.6mm(略)。

    163024X30 609.6mmX762mm(略)。

    173230X32 609.6mmX812.8mm(略)。

    183632X36 609.6mmX914.4mm(略)。

    194032X40 812.8mmX1016mm(略)。

    204232X42 812.8mmX1066mm(略)。

    214432X44 812.8mmX1219mm(略)。

    正常的尺寸允许12毫米公差。


    展开全文
  • 前言这两个属性说难不难,说容易又不易容。...基本定义设备像素:设备像素又称物理像素(physical pixel),设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点。CSS像素:CSS像...
  • 计算像素轮廓的像素面积算法

    千次阅读 2015-01-09 14:41:02
    基于轮廓 计算像素轮廓的像素面积算法
  • 所谓的一倍屏、二倍屏(Retina)、三倍屏,指的是设备以多少物理像素来显示一个CSS像素,也就是说,多倍屏以更多更精细的物理像素点来显示一个CSS像素点,在普通屏幕下1个CSS像素对应1个物理像素,而在Ret...
  • 图像中零灰度值的像素会影响OSTU出的阈值吗?根据累计直方图的计算,像素的概率密度乘以灰度值还是零,应该不会影响吧
  • 像素和分辨率

    千次阅读 2018-01-11 20:49:41
    像素和分辨率 这两个常见于图片和显示设备中,像相机,手机,图片,光谱仪等的性能指标都离不开这两个词。 像素和分辨率的关系 像素是组成图象的最基本单元要素:点 分辨率是指在长和宽的两个方向上...
  • ubuntu查看像素坐标和像素值GUI工具 【 mtpaint 】: 安装命令: sudo apt-get install mtpaint ref: mtpaint : http://mtpaint.sourceforge.net/
  • 像素是什么意思?一个像素有多大? 告诉你像素和分辨率的关系! 图片的像素和分辨率 对于像素和分辨率这两个词,主要见于图片和显示设备上。只要你用到手机里的照相功能,你都要接触到这两个概念。只是大多数人...
  • 像素单位

    2020-12-28 16:42:20
    5.1、说明 ppi指的是单位英寸长度上的平均孔数 iphone6官方在产品说明书上写像素密度为326ppi,指的就是在它的1in == 326dp 5.2、计算iphone6的像素密度 先通过iphone6的对角4.7in和高宽比可以出高和宽:...
  • 像素深度BPP

    千次阅读 2016-12-20 14:10:30
    像素深度是指存储每个像素所用的位数,它也是用来度量图像的分辨率。像素深度决定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数。例如,一幅彩色图像的每个像素用R,G,B三个分量...
  • 像幅、像素数、像素尺寸关系

    千次阅读 2019-03-16 17:35:05
    像幅大小也称为传感器尺寸。 传感器尺寸是相机固有参数,只要知道相机型号就可以...传感器尺寸=像素数X像素尺寸 以索尼a6000为例 23.5mm=6000X3.9um 15.6mm=4000X3.9um 通过百度查看相机参数(红色框部分) ...
  • 像素是什么

    2015-07-24 15:02:37
    像素是什么意思?一个像素有多大? 告诉你像素和分辨率的关系!     图片的像素和分辨率   对于像素和分辨率这两个词,主要见于图片和显示设备上。只要你用到手机里的照相功能,你都要接触到这两个概念。...
  • 像素密度计算

    千次阅读 2019-01-14 13:35:44
    它指的是在一定尺寸的物理屏幕上显示像素的数量,一般使用dpi(dots per inch,每英寸像素数)作为单位. 比如设备分辨率为240x320,屏幕物理尺寸为1.5英寸x2英寸(对角线为2.5), 它的密度可以用分辨率/尺寸表示:240/1.5...
  • 我们把一个个像素点当成小格子,那么下图的分辨率就是4 * 2的分辨率,代表纵向有4个像素点,横向2个像素点 我们经常所说的分辨率1024*768就是纵向有1024个像素点,横向有768个像素点 很明显,显示相同尺寸的屏幕...
  • 像素分割与超像素合并/区域合并/多尺度分割

    万次阅读 多人点赞 2014-05-14 11:19:40
    最近两年,超像素分割
  • 像素是什么意思?一个像素有多大? 告诉你像素和分辨率的关系!   图片的像素和分辨率  对于像素和分辨率这两个词,主要见于图片和显示设备上。只要你用到手机里的照相功能,你都要接触到这两个概念。只是...
  • 像素与字节关系

    千次阅读 2019-07-02 22:21:30
    像素与字节 一个字节包含8个比特。像素即图片元素,通常表示位图中的一个点。 1.对于黑白图像(即二值图像),一个像素点用一个bit表示即可,即用0和1表示黑白。这样一个字节可以表示8个像素。 2.对于灰度图,一...
  • 我们可以简单算算,iPhone 4是640 x 960像素,对角线就是1154像素,除以3.5英寸,应该是330ppi。而官方给出的数字是326ppi。当像素太密,超过300ppi的时候,人眼 也就不能区分出每个像素。因此iPhone 4的屏幕叫作...
  • 720p,1080p对应像素解释

    万次阅读 2018-01-29 10:16:18
    720P是1280*720=921600,即分辨率为921600,即大约92万像素,921600接近100万像素(1280是按照16:9出来的,4:3的另,后续都按照16:9来)其中P是逐行扫描的简称。 1080P是1920*1080 =2073600,即分辨率为...
  • 分水岭超像素

    千次阅读 2015-10-20 18:56:03
    像素这个概念被提出以来,各种方法层出不穷~在计算机视觉和模式识别中也被广泛的应用。最近几年,CVPR,ICCV,PAMI,TIP,ICIP等各种期刊、会议关于超像素的论文超多。其实,这也说明了一个问题,超像素的实现其实...
  • 【科普】人眼到底等于多少像素

    万次阅读 2017-09-09 12:44:07
     人眼到底是多少像素的,从数码相机出现的那一天起,就有无数人提这个问题,谁让数码相机把视觉效果以Pixel像素这样一个简单的数字表现出来了呢。之后就有不少人纷纷拿出了自己的算法,得出的结论少的有500万,多的...
  • 也称为图像元素,是作为图像构成的基本单元,单个像素的大小并不固定,跟随屏幕大小和像素数量的关系变化(屏幕越大,像素越低,单个像素越大,反之亦然)。所以在使用像素作为设计单位时,在不同的设备上可能会有...
  • 直方图统计像素

    2019-12-04 22:16:28
    通过直方图对图像中的像素进行简单统计,也可以得到图像的很多信息,利用这些信息可以进行图片增强,图片分割和图片匹配。 简单统计: 一般将图片转变为灰度图,这样是为了减少图片信息的维度,对统计进行简化。 ...
  • [概念]像素,分辨率

    千次阅读 2016-06-12 01:46:16
    像素 像素(pixel):中文全称为图像元素。是由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的。像素仅仅只是分辨率的尺寸单位,而不是画质。 像素是组成图像的最基本单元。它是一块正方形,带有颜色、明...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,560
精华内容 20,624
关键字:

像素怎么算