JPG文件-水平分辨率、垂直分辨率
问题:有一个 JPG 文件,大小为 480 × 800 像素,在资源管理器中查看文件属性时,水平和垂直分辨率为 96 dpi,用 Photoshop 打开分辨率却显示为 72 dpi,分辨率显示为何存在差异?
解答:
通常水平和垂直分辨率分开设置的文件通常是JPG文件,所以本文也是针对 JPG 文件的 「特殊」 现象解答。
首先,如果我们用资源管理器查看一个JPG文件的属性,我们可以看到 JPG 文件存在水平和垂直分辨率属性 (如下图),此特性与 JPG 在视频应用上的渊源有关,在此不展开。
JPG 文件基本有两种格式,JFIF 和 EXIF 。 JFIF 文件头的第14个字节,也就是 offset 0x000D,是分辨率单位类型(units),其值为 0 时表示没有单位 (也就是没有分辨率设置),为 1 时单位为英寸,为 2 时单位为厘米。 EXIF 的分辨率单位类型在 offset 0x0128,其值为 1 时表示没有单位,为 2 时单位为英寸,为 3 时单位为厘米,但 1 并不符合 EXIF 的格式标准。
JPG 文件是哪种格式,可以透过资源管理器查看 (如下图),EXIF 版本为空时表示 JPG 文件是 JFIF 格式,有值则为EXIF格式。
当我们在资源管理器中看到一个 JPG 文件的分辨率为 96 dpi 的时后,有两种可能;
- JPG 文件的分辨率真的是 96 dpi
- JPG 文件没有设置分辨率 (通常是 JFIF 格式)
所以;
如果 JPG 文件的分辨率真的是 96 dpi,那么在资源管理器和 Photoshop 中显示的分辨率都会是 96 dpi.
如果 JPG 文件的分辨率没有被设置,会有以下「效果」;
- 源管理器会将此 JPG 文件分辨率属性显示为缺省值 96 dpi
- Photoshop 打开此文件时会赋予分辨率默认值 72 dpi
这就叫做有法依法,无法援例。只是每个软件援的例不一样罢了。
Photoshop 保存的 JPG 文件是 EXIF格式 ,即使原始文件是 JFIF (用资源管理器查看并比较 EXIF 版本属性就能验证)。
那么 JPG 文件的分辨率为什么会为没有被设置呢? 这当然和创建这个 JPG 文件的软件有关,至于具体是哪些软件 ? 我也不清楚,还希望有兴趣追根究底的朋友在此分享一下测试成果。
事实上,影像文件的分辨率属性,仅在文件被 "应用" 时才有作用,它是文件创作者为了文件在后续应用的需要所指定的规格。例如,当我们把一个 600 x 400 像素的影像文件导入到 CorelDraw 页面上时 (CorelDRAW 的页面是有尺寸的),他应该多大呢 (1:1) ? 这时分辨率就能作为尺寸参考的依据,如果是 100 dpi,图片的 1:1 原尺寸就应该是 600 /100 x 400/100 英寸,也就是 6 x 4 英寸。
只要不重新采样 (改变像素值) 分辨率的设置是不会影响影像文件本身质量的。
我不是凡高: F1十进制应该是112吧
落地请打代码: 好文 学到了
follow轻尘: 他表达式写的错了,但是结果写的是对的
@Louis: 亲求最后的代码
@Louis: 亲求最后的代码