在论坛上回答网友的问题,经常会遇到诸如"如何才能改变图片的分辨率?'或者"怎么才在我的软件中做到象PHOTOSHOP中那样设置图片分辨率阿?'等等诸如此类的问题.
相信很多即使是图像编程和API用得滚瓜烂熟的老鸟也不一定真正能明白这些东西的实际含意和用处. 暂借此文来为大家做一个简明的概括, 以帮助大家对这些概念的理解.
假设:本文中所说的"图片"均指位图,BMP,JPG,GIF,TIFF...,不包括矢量图,矢量图没有分辨率的概念.
1: 分辨率&解析度
我们经常会说一个图片的分辨率是多少多少,比如用130万像素的摄像头拍了张自拍头像,那么这个图片的"分辨率"就是130万. 用800万像素拍的照片,"分辨率:也就是800万等等.
这里所谓的130万和800万,都是指像素,也就是"点",数码相机也好摄像头也好,其镜头无非是CCD或CMOS感光,每一组感光单元构成了一个像素, 130万像素的摄像头包含了130万组感光单元,因此拍到的照片也就不会超过130万个像素. 130万像素的图片基本上大小等同于一个1240X1024的显示器幅面所能正常显示的区域了.
请注意,上文中我在分辨率一词上打了双引号,这是因为实际上这个词用在这里是错误的.
更确切的用法应该是"像素值"或"像素量"等等.
电视机有个参数叫做"解析度"或者叫"线数",这两个说法实际上要比我们用来称呼显示器的所谓"分辨率"来得更恰当.因为"解析度"或者"线数"只说明它对显示区域的分割程度,而不论其显示面积的大小是多少.
所谓的"分辨率",实际上是一个被大多数人误解了的概念.
因为分辨率的真实含意是指每单位长度上包含的点的数量,数量单位为:DPI,即:DOT PER INCH,翻译过来就是:每英寸所包含的点. 有人要问了,这一英寸是多少捏? 大约是25.4毫米,
又有人要问了,为什么不用公制的厘米或米来做单位呢? 没办法,这玩意儿是老美搞出来滴,这个国家滴人民至今扔生活在原始社会捏,长度单位用滴是英寸英尺码,重量单位用滴是英磅,体积单位用滴是盎司,哎,就等着大家去开化呢.
扯远了,回来继续说. 从这个定义上,大家应该明白了所谓的分辨率其实是一个比值,而不是一个数值.
我举个例子给大家: 某个LCD厂家设计了两款显示器,指标如下:
产品1:
尺寸: 宽度X高度: 406.4mmX304.8mm, 标准分辨率:1280x960(正确说法是标准解析度)
分析:该显示器宽16英寸,高12英寸,水平分辨率为:1280/16=80DPI,垂直分辨率为:960/12=80DPI
产品2:
尺寸: 宽度X高度: 101.6mmX76.2mm, 标准分辨率:800x600(正确说法是标准解析度)