2021-04-13

位图和矢量图是两种不同的图像类型,位图以像素点记录颜色信息,适合真实图像,但放大易失真;矢量图基于数学对象,放大不失真,适合线条艺术。SVG是矢量图的一种,适用于网页和矢量图形。图片存储占用空间受格式、压缩算法影响,内存中显示大小与分辨率、像素表示方式相关。RGB和CMYK分别是屏幕和印刷的颜色模式。在工作中的图片处理主要使用RGB模式。
摘要由CSDN通过智能技术生成

图片在不同环境下大小受哪些因素影响

1、位图和矢量图分别是什么,它们的区别是什么?

2、用磁盘空间大小=占用内存大小  ?

3、RGB和CMYK分别是什么,它们的区别是什么?

 

一、位图和矢量图的基本概念

位图

概念:位图是以像素点为基础,用点的方式来记录图形中所有使用的颜色色码,这些点可以进行不同的排列和染色以构成图样,像拼图一样组成整张图像。

特点:

1:位图的特点是可以真实呈现图像的原貌以及色彩上的细微差异。可以表现色彩的变化和颜色的细微过渡,产生逼真的效果。

 

2:缺点是:在保存时需要记录每一个像素的位置和颜色值,占用较大的存储空间。

而且放大后,就会看见赖以构成整个图像的无数单个方块,产生如马赛克色块状的锯齿边缘。扩大位图尺寸的效果是增大单个像素,从而使线条和形状显得参差不齐。

使用场景

人物、风景、产品等这类需要表示真实图片的地方,因为”像素”可以真实地记录下所有的真实图像信息;

用数码相机拍摄的照片、扫描仪扫描的图片以及计算机截屏图等都属于位图。常用的位图处理软件有Photoshop(同时也包含矢量功能)、Painter和Windows系统自带的画图工具等,Adobe Illustrator则是矢量图软件。

成像影响因素:与分辨率有关。

_________________________________

矢量图

概念:矢量图(也称为面向对象图像或绘图图像),是以数学概念为基础,在数学上定义为一系列由点连接的线,类似于“两点成一线”的原理。这两点可以是很大很小,所形成的直线都是根据两点的距离计算得到的,因此不会涉及到分辨率的问题,自然也不会产生“放大后失真,产生锯齿形状”的问题,矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。

特点:

矢量图是根据几何特性来绘制图形,矢量可以是一个点或一条线,矢量图只能靠软件生成,文件占用内在空间较小,因为这种类型的图像文件包含独立的分离图像,可以自由无限制的重新组合。它的特点是放大后图像不会失真,和分辨率无关,适用于图形设计、文字设计和一些标志设计、版式设计等。

缺点:难以表现色彩层次丰富的逼真图像效果。不易制作色调丰富或色彩变化太多的图像,而且绘制出来的图形不是很逼真,无法像照片一样精确地描述自然界的景观,同时也不易在不同的条件间交换文件。

使用场景

矢量图 适合卡通、线条画等表现抽象意念的东西,因为矢量图在色彩上的表现不如位图细腻(尤其是渐变色上),无法完整记录图像的信息,只能用线条模拟出类似的效果。

因此矢量图会给人一种仿真的效果,不易产生像照片拍摄出的真实细腻感,但缺失讲究精准的设计图的最好选择,精准抽象的场景,比如地图,游戏等。

_____________________________________

关于矢量图,主要讲一下SVG:

  • SVG 可被非常多的工具读取和修改(比如记事本)
  • SVG 与 JPEG 和 GIF 图像比起来,尺寸更小,且可压缩性更强。
  • SVG 是可伸缩的,放大缩小都很清晰
  • SVG 图像可在任何的分辨率下被高质量地打印
  • SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)
  • SVG 可以与 Java 技术一起运行
  • SVG 文件是纯粹的 XML

▶ SVG有什么缺点?

  • 兼容不了4.0以下的版本。低版本anr或者崩溃。
  • SVG图是不支持硬件加速的(所以它不能用来做图片的占位图和错误图);

附:代码中使用svg的例子

进行dark模式适配、进行多个主题的适配

 

附Android使用方法:

xml中:

 

Java代码中:

 

代码中已经封装好,直接使用

DayNightResCompat.getDrawableWithTin

传入svg和颜色,就可以生成Drawable资源来使用。

 

二、图片在磁盘中的存储

矢量图:

图像中保存的是线条和图块的信息,所以矢量图形文件与分辨率和图像大小无关,只与图像的复杂程度有关,相比位图而言,图像文件所占的存储空间较小。

位图:

最基本的组成单位是像素,计算机必须精确存储每个组成位图的象素的位置,颜色等信息。
位图是由不同亮度和颜色的像素所组成,存储的时候会经过图片压缩算法进行压缩,然后用不同的图片文件格式保存,常见的有JPEG、PCX、BMP、PSD、PIC、GIF和TIFF等。

 

因此一般情况下,图片占用磁盘空间大小都要小于图片占用内存大小。就像一张充气凳子,不用的时候放气折叠起来放着,使用的时候充气恢复原来的样子。

存储在磁盘上的是编码过的,所以这个大小是不定的,取决于不同格式的压缩比。

图片压缩算法如下:

 

 

以JPEG与PNG为例:

png采用无损压缩,压缩比相对于jpg要小,所以存储的时候图片一般比jpeg要大,但是多次压缩图片不会失真。

而jpg采用有损压缩,多次压缩图片质量会明显下降,但是压缩比较大,所以压缩后的图片较小。

 

而最终图片绘制时需要解码成bitmap,而bitmap的大小只和图片的分辨率与像素的表示方法有关。

 

三、图片在内存中的加载显示

图片内存大小图片文件占用空间大小是没有必然关系,但是一般来说图片文件大小,图片内存大小就越大。占用空间是在磁盘上占用的空间,内存大小是加载到内存中占用的内存大小。

图片文件在外存的实际大小没法确定,跟图片格式和压缩率有关

图片占用内存的大小 = 宽*高*单个像素占用的字节数

在内存中的Bitmap大小是可以确定的,RGB每个像素3个字节,不含alpha信息的话

现在假如有一个图片是600*800的,文件大小100KB。

图片内存大小的计算公式是 :图片高度 * 图片宽度 * 一个像素占用的字节数

也就是 600 * 800 * 4 byte = 1875KB = 1.83M

而一个像素占用的字节数与图片的编码格式(或者叫bitmap在内存中的存储形式)有关

 

四、颜色模式以及像素

CMYK模式(C:Cyan = 青色,又称为‘天蓝色’或是‘湛蓝’,M:Magenta = 品红色,又称为‘洋红色’;Y:Yellow = 黄色;K:blacK=黑色):共计四种颜色混合叠加,形成所谓“全彩印刷”,常用于彩色喷墨打印机

RGB颜色模式:(红:Red  绿Green  蓝 Blue)以“加色法”,将三原色混合出不同的颜色。如(r255,g255,b255)为白色

他们之前的区别如下:

1.两者在性质上不同:RGB是显示器显示的颜色,而且CMYK是印刷用的颜色。如果用显示器来进行预览CMYK会变色的。

2.两者在针对的媒介上不同:RGB最主要是显示器所呈现出来的最佳的颜色,显示器用CMYK模式来显示会存在偏差问题;用RGB进行打印的话颜色也会存在着偏差。

3.两者在含义上不同:RGB模式是以色光三原色为基础建立的色彩模式。RGB图像只使用三种颜色,当不等量的三种色光进行叠加混合时,即会在屏幕上重现自然界各种各样的颜色。

咱们工作中主要使用RGB的颜色模式,重点介绍下RGB的颜色模式,RGB的色彩格式主要由ARGB构成,其中

A:透明度

R:红色

G:绿

B:蓝

(1)RGBA8888(32-bit) RGBA 4个通道各占8位,如果想获得最好的图片质量,使用这种格式最靠谱,但他占用的内存会比16位的纹理多一倍,加载速度相对较慢。

(2)RGBA4444(16-bit) RGBA 4个通道各占4位,他对每个通道都有不错的支持,还能保证相对良好的图片质量,以及加载速度和内存占用。

(3)RGB5A1 (16-bit) RGB 3个通道各占5位,A通道仅占一位,RGB通道表现良好,A通道只有透明和不透明两种,加载速度和内存占用表现良好。

(4)RGB565 (16-bit) RGB 3个通道分别占5、6、5位,没有A通道,在16为纹理中,图片质量最好。

自然是位数越多显示的效果越好。

一般情况下我们都是使用的ARGB_8888,由此可知它是最占内存的,因为一个像素占32位,8位=1字节,所以一个像素占4字节的内存。假设有一张480x800的图片,如果格式为ARGB_8888,那么将会占用1500KB的内存。


五、附:10种常见的图片文件格式以及使用场景

01 JPEG

  • 用途:相机拍摄照片,网络图片等。经常被用作图片处理的最终输出格式。
  • 优势:用途广泛,受到几乎所有平台和系统的支持。支持应用不同级别的压缩。压缩后的文件尺寸较小,适合携带和发送。
  • 劣势:有损压缩,会随着重新存储次数增多而降低质量。不支持图层。不支持透明度。

JPEG是最常见的图片格式,使用非常广泛。几乎所有的数码相机和网络环境都支持JPEG。JPEG能使用有损压缩的方式,去除图片中不需要的像素并减少图片尺寸。

JPEG和JPG是相同的格式,在早期版本的Windows中不支持三位以上的拓展名,因此有了JPG。JPEG 2000是升级后的格式,但非常少用。

02 TIFF

  • 用途:高品质图像,常被平面设计师用于出版印刷。也可以用于编辑和存储图像。
  • 优势:无损压缩。支持多页面和多图层。软件基本支持。支持透明度。
  • 劣势:图片尺寸很大,大于JPEG甚至大于RAW文件。只有专业软件支持多页面功能。

TIFF是无损图像格式,默认设置下在压缩时不会损失信息,但也支持开启有损压缩设置。它支持存储带有图层、透明度等内容的高品质图像,因此尺寸较大。

03 PNG

  • 用途:在网络上最常用,对显示器有优化(相对于印刷来说)。
  • 优势:支持比GIF更多的颜色。无损压缩。支持透明度。
  • 劣势:尺寸通常比JPEG大,而且仅支持RGB色彩空间。

PNG原本是被设计用于替代GIF的。PNG是无损压缩格式,因此适合存储照片和文本。

04 GIF

  • 用途:网络图片,尤其是动图。
  • 优势:加载迅速,支持动画,无损压缩,尺寸较小,支持透明度。
  • 劣势:最大仅支持256色,不支持CMYK。

GIF是早期互联网的产物,能被压缩到非常小的尺寸。静态GIF图片已经基本被JPEG取代了。

05 PSD

  • 用途:用于Photoshop的相关项目,用于印刷和照片编辑。如今很多打印机开始支持PSD。
  • 优势:支持透明度。能保存Photoshop的编辑结果。可以组合使用像素图和矢量图。
  • 劣势:不能用于网络图片,并且尺寸容易变得很大。

PSD是Photoshop的专用格式,这意味着它能最大程度地保存Photoshop编辑的内容。

06 RAW

  • 用途:专业摄影,尤其在照片需要后期编辑的时候。
  • 优势:可以尽可能保留照片信息,适用于后期编辑。
  • 劣势:尺寸非常大,很容易填满存储卡。并不被所有照片编辑器支持,大多打印机不支持。

RAW格式是现代相机使用的存储格式,相机捕捉的数据不会被压缩也不会被处理,让信息最大程度地保留下来。不同的相机品牌支持的RAW格式不同,后缀可能是CR2、NEF、DNG等。

07 EPS

  • 用途:用于保存矢量图,如插画、Logo和图标。
  • 优势:支持任何尺寸的图像。有大量软件支持查看。可以轻松地被转换为像素图。
  • 劣势:用于编辑的软件有限,打印机支持性交叉。有些EPS文件内部是像素图,只是被伪装成了矢量图。

EPS是矢量图通用文件,大多数矢量编辑软件都支持EPS。EPS格式文件也可以包含像素图。

08 SVG

  • 用途:用于网络矢量图,以及导入3D软件。
  • 优势:支持矢量内容,也支持文本和像素图,可以添加动画(通过外部代码交互)。放大缩小不会模糊。尺寸较小。可直接作为代码放在HTML里。可以被搜索引擎检索。
  • 劣势:支持的颜色深度有限。不适合用作印刷。

SVG基于XML格式,适合将矢量图用于网络发布。同时,SVG也非常适合用于导出2D路径到3D软件中。

09 PDF

  • 用途:存储文档,用于打印。
  • 优势:可以同时存储像素图、矢量图和文本。很多软件可以输出PDF,支持多页。
  • 劣势:限制用于Windows和Mac OS,很难编辑。

PDF格式是封装文档用于印刷的通用标准之一。

10 BMP

  • 用途:基本已经过时。
  • 优势:无压缩,大多数系统都支持。
  • 劣势:相对来说文件尺寸大,不支持CMYK。

BMP是古老的像素图格式,由微软开发。如今它已经很少使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值