此文章为转载文章,但内容有些改动
有损压缩和无损压缩
1.有损压缩
有损压缩可以减少图像在内存和磁盘中占用的空间,在屏幕上观看图像时,不会发现它对图像的外观产生太大的不利影响。因为人的眼睛对光线比较敏感,光线对景物的作用比颜色的作用更为重要,这就是有损压缩技术的基本依据。
无可否认,利用有损压缩技术可以大大地压缩文件的数据,但是会影响图像质量。如果使用了有损压缩的图像仅在屏幕上显示,可能对图像质量影响不太大,至少对于人类眼睛的识别程度来说区别不大。可是,如果要把一幅经过有损压缩技术处理的图像用高分辨率打印机打印出来,那么图像质量就会有明显的受损痕迹。
2.无损压缩
无损压缩的基本原理是相同的颜色信息只需保存一次。压缩图像的软件首先会确定图像中哪些区域是相同的,哪些是不同的。包括了重复数据的图像(如蓝天)就可以被压缩,只有蓝天的起始点和终结点需要被记录下来。但是蓝色可能还会有不同的深浅,天空有时也可能被树木、山峰或其他的对象掩盖,这些就需要另外记录。从本质上看,无损压缩的方法可以删除一些重复数据,大大减少要在磁盘上保存的图像尺寸。但是,无损压缩的方法并不能减少图像的内存占用量,这是因为,当从磁盘上读取图像时,软件又会把丢失的像素用适当的颜色信息填充进来。如果要减少图像占用内存的容量,就必须使用有损压缩方法。
无损压缩方法的优点是能够比较好地保存图像的质量,但是相对来说这种方法的压缩率比较低。但是,如果需要把图像用高分辨率的打印机打印出来,最好还是使用无损压缩。几乎所有的图像文件都采用各自简化的格式名作为文件扩展名,从扩展名就可知道这幅图像是按什么格式存储的,应该用什么样的软件去读/写等等。
常见的图片格式有以下几种
一、Photoshop格式
Photoshop格式是Photoshop图像处理软件的专用文件格式,文件扩展名是.psd,也是Photoshop中新建图像的默认格式。它是唯一支持所有可用图像模式(位图、灰度、双色调、索引颜色、RGB、CMYK、Lab和多通道)参考线、Alpha通道、专色通道和图层(包括调整图层、文字图层、图层效果和图层蒙板)的格式,是一种非压缩的原始文件保存格式。PSD文件有时容量会很大,但由于可以保留所有原始信息,在图像处理中对于尚未制作完成的图像,选用PSD格式保存是最佳的选择。
二、JPG/JPEG格式
联合图片专家组(JPEG)格式是在World Wide Web以及其他联机服务上常用的一种格式,用于显示超文本标记语言(HTML)文档中的照片和其他连续色调的图像。JPEG格式支持RGB、CMYK和灰度颜色模式,但不支持Alpha通道。和GIF格式不同,JPEG保留图像中的所有颜色信息,但通过有选择性地扔掉数据来压缩文件大小。JPEG格式是应用最广泛的图片格式之一,它采用一种特殊的有损压缩算法,将不易被人眼察觉的图像颜色删除,从而达到较大的压缩比(可达到2:1甚至40:1),所以特别受网络青睐。
三、GIF格式
GIF(Graphics Interchange Format)的原义是“图像互换格式”,是CompuServe公司在1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。
GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。所以GIF的图像深度从lbit到8bit,也即GIF最多支持256种色彩的图像。GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。
GIF解码较快,因为采用隔行存放的GIF图像,在边解码边显示的时候可分成四遍扫描。第一遍扫描虽然只显示了整个图像的八分之一,第二遍的扫描后也只显示了1/4,但这已经把整幅图像的概貌显示出来了。在显示GIF图像时,隔行存放的图像会给您感觉到它的显示速度似乎要比其他图像快一些,这是隔行存放的优点。
GIF可以做到一些JPEG不能做到的事情。比如,你可以对GIF进行交织处理。交织处理的GIF图形可以先以低清晰度全部下载,然后再慢慢变清晰。这样,读者就可以先快速看到是一个什么图形。而JPEG则只能一行一行地下载,直到全图下载完毕,才可以看到整个图形。
分为静态GIF和动画GIF两种,支持透明背景图像,适用于多种操作系统,"体型"很小,网上很多小动画都是GIF格式。
四、BMP格式
BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。3lian素材,这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致了它与生俱生来的缺点--占用磁盘空间过大。所以,目前BMP在单机上比较流行。BMP位图文件默认的文件扩展名是BMP或者bmp(有时它也会以.DIB或.RLE作扩展名)。
五、PNG格式
PNG(Portable Network Graphics)是一种新兴的网络图像格式。在1994年底,由于Unysis公司宣布GIF拥有专利的压缩方法,要求开发GIF软件的作者须缴交一定费用,由此促使免费的png图像格式的诞生。PNG一开始便结合GIF及JPG两家之长,打算一举取代这两种格式。1996年10月1日由PNG向国际网络联盟提出并得到推荐认可标准,并且大部分绘图软件和浏览器开始支持PNG图像浏览,从此PNG图像格式生机焕发。
PNG是目前保证最不失真的格式,它汲取了GIF和JPG二者的优点,存贮形式丰富,兼有GIF和JPG的色彩模式;它的另一个特点能把图像文件压缩到极限以利于网络传输,但又能保留所有与图像品质有关的信息,因为PNG是采用无损压缩方式来减少文件的大小,这一点与牺牲图像品质以换取高压缩率的JPG有所不同;它的第三个特点是显示速度很快,只需下载1/64的图像信息就可以显示出低分辨率的预览图像;第四,PNG同样支持透明图像的制作,透明图像在制作网页图像的时候很有用,我们可以把图象背景设为透明,用网页本身的颜色信息来代替设为透明的色彩,这样可让图像和网页背景很和谐地融合在一起。
PNG的缺点是不支持动画应用效果,如果在这方面能有所加强,简直就可以完全替代GIF和JPEG了。Macromedia公司的Fireworks软件的默认格式就是PNG。现在,越来越多的软件开始支持这一格式,而且在网络上也越来越流行。
六、SWF格式
利用Flash我们可以制作出一种后缀名为SWF(Shockwave Format)的动画,这种格式的动画图像能够用比较小的体积来表现丰富的多媒体形式。在图像的传输方面,不必等到文件全部下载才能观看,而是可以边下载边看,因此特别适合网络传输,特别是在传输速率不佳的情况下,也能取得较好的效果。事实也证明了这一点,SWF如今已被大量应用于WEB网页进行多媒体演示与交互性设计。此外,SWF动画是其于矢量技术制作的,因此不管将画面放大多少倍,画面不会因此而有任何损害。综上,SWF格式作品以其高清晰度的画质和小巧的体积,受到了越来越多网页设计者的青睐,也越来越成为网页动画和网页图片设计制作的主流,目前已成为网上动画的事实标准。
七、CDR格式:
CDR格式是著名绘图软件CorelDRAW的专用图形文件格式。由于CorelDRAW是矢量图形绘制软件,所以CDR可以记录文件的属性、位置和分页等。但它在兼容度上比较差,所有CorelDraw应用程序中均能够使用,但其他图像编辑软件打不开此类文件。
八、AI格式:
用Adobe Illustrator软件打开,可以分层使用,是矢量图,可以任意缩小和放大,也可以用Photoshop软件打开,不过打开后不是分层的,但可以在打开时选择DPI的大小来确定你打开的AI图有多大。
九、TIFF格式
可以用photoshop软件打开操作,是一种主要用来存储包括照片和艺术图在内的图像的文件格式。
TIFF是一个灵活适应性强的文件格式,TIFF可以包含JPEG和行程长度编码压缩的图像。TIFF文件也可以包含基于矢量的裁剪区域(剪切或者构成主体图像的轮廓)。使用无损格式存储图像的能力使TIFF文件成为图像存档的有效方法。与JPEG不同,TIFF文件可以编辑然后重新存储而不会有压缩损失。其它的一些TIFF文件选项包括多层或者多页。
各种图片格式对比表(此部分已更新)
图像文件格式
|
压缩方式
|
是否支持透明处理
|
是否支持交错处理
|
是否支持动画效果
|
颜色深度(bit)
|
特点
|
bmp
|
几乎不进行压缩
|
|
|
|
32
|
|
Jpg/jpeg
|
有损压缩
|
否
|
是(对于渐进式JPEG文件)
|
否
|
32
|
|
gif
|
无损压缩
|
是
|
是(隔行存放,隔行扫描)
|
是
|
8(256色)
|
|
png
|
无损压缩
|
是
|
是
|
否
|
48
|
|
Tiff
|
有压缩和非压缩
|
|
|
|
24
|
|
分享到:
相关推荐
本教程将详细讲解如何使用C#进行图片格式转换,包括从JPG、PNG、BMP等常见格式相互转换的方法。 首先,我们需要引入System.Drawing命名空间,这个命名空间提供了处理图像的基本类,如Image和Graphics。以下是如何...
通过以上讲解,我们了解了易语言中进行GFT图片格式转换的基本流程和技术要点。具体实现需要结合源码分析,深入理解易语言的语法特性以及图像处理的相关知识。如果你希望进一步学习或实践,可以下载并研究提供的...
本篇文章将详细讲解图片格式转换工具及其相关知识点。 标题中的"图片格式转换工具.zip"表明这是一个包含图片格式转换软件的压缩文件。这种工具通常能够帮助用户快速将图片从一种格式转换为另一种,而无需了解复杂的...
本文将详细讲解图片格式转换器的工作原理、常见图片格式的特点以及如何使用这种工具进行格式转换。 图片格式转换器的工作原理主要基于图像处理技术,它读取源文件中的图像数据,然后按照目标格式的要求重新编码和...
1. **图片格式验证**:在JavaScript中,我们可以通过`File.type`属性来获取文件的MIME类型。常见的图片MIME类型有`image/jpeg`、`image/png`、`image/gif`等。通过比较`File.type`与预期的图片类型,我们可以判断...
在用户上传图片之前,验证图片格式以及提供预览功能是非常重要的步骤,这不仅可以确保上传的图片符合预期的格式要求,还可以为用户提供更好的交互体验。本文将详细讲解如何使用JavaScript来实现这个功能。 首先,...
在C#编程环境中,改变图片格式是一个常见的任务,特别是在处理图像数据或开发图像处理应用程序时。本篇文章将详细讲解如何使用C#将图片文件从BMP格式转换为其他格式,如JPG或GIF。 首先,我们需要引入System....
在IT行业中,图片格式转换是一项常见的任务,尤其是在处理多媒体数据时。本教程将详细讲解如何在C#编程环境中,利用Visual Studio 2005(VC2005)实现图像格式的转换。C#是一种面向对象的编程语言,与.NET Framework...
照片或图片格式转换软件是解决这一问题的重要工具,它可以帮助用户轻松地将图片从一种格式转换为另一种,同时还能有效地压缩图片大小,以便于存储、传输和快速加载。以下是对这个主题的详细讲解。 1. **图片格式**...
本教程将详细讲解如何使用Python进行文件夹下文件列表的获取,以及如何批量进行图片格式转换,这些都是Python基本文件操作的重要组成部分。 首先,让我们讨论如何获取文件夹下所有文件的列表。在Python中,我们可以...
### Java图片格式转换知识点详解 #### 一、引言 在日常开发工作中,经常会遇到需要对图片进行格式转换的需求。例如,将一张`.bmp`格式的图片转换为`.jpg`或`.png`等其他格式。Java平台提供了强大的图像处理功能,...
在IT行业中,文本转换成图片格式是一种常见的需求,特别是在移动设备上阅读不便或者为了保护文本内容不被轻易复制时。本教程将详细讲解如何将TXT格式的文本转换为图片,以便于在手机上查看,尤其是那些不支持TXT格式...
本资源包含“latex入门ppt”和“bmp图片格式编辑器”,旨在帮助初学者快速掌握LaTeX的基本使用,并了解如何处理bmp格式的图片。 首先,让我们详细探讨LaTeX入门PPT。PPT(PowerPoint)通常用于创建演示文稿,而这里...
"IPV4数据包格式讲解" IPV4数据包格式是计算机网络中的一种基本协议,用于定义数据包的格式和结构。在这个协议中,数据包被分为两个部分:报头区和数据区。报头区包含控制信息和地址信息,而数据区包含实际要传输的...
本篇文章将详细讲解如何利用Delphi 7进行图片格式转换的源代码实现,以及涉及的相关知识点。 首先,Delphi 7中的VCL(Visual Component Library)框架提供了一些内置的图形处理组件,如TImage、TBitmap等,它们可以...
本资源“C#实现图片转换格式源码_(0610).rar.rar”显然是一个包含C#代码的压缩文件,其核心功能是图片格式的转换。以下是基于这个主题的详细知识点讲解: 1. **C#基础**: - C#是一种面向对象的编程语言,由微软...
通过分析`PE结构图.JPG`和`PE图每个大小.jpg`这两张图片,你可以直观地看到这些组件在文件中的布局,以及它们各自的大小和相对位置。理解PE格式对于逆向工程、软件调试和恶意软件分析等任务至关重要。了解这些基础...
在本文中,我们将详细介绍Java判断上传图片格式的实例代码,主要讲解了如何使用Java来判断上传的图片格式。我们都知道,客户上传图片时,可能会将png的图片后缀名改为jpg,从而绕过后缀名判断。因此,我们需要使用...
在本文中,我们将深入探讨如何在Visual Studio 2010环境下使用CxImage库来读取各种图片格式,并在内存中将它们转换为HBITMAP位图对象。这个过程对于在Windows应用程序中处理图像,特别是在GUI(图形用户界面)开发中...
PDF文件转换为图片格式是一种常见的需求,特别是在处理文档可视化、网页设计或移动设备阅读时。本文将详细讲解如何使用PdfiumViewer库在Windows Forms(Winform)环境下将PDF文件转换为图片,以及该项目的开发环境和...