解析BMP GIF JPEG TGA PNG图像格式

转自:http://blog.sina.com.cn/s/blog_6c4e18f70100n85d.html

1、BMP格式

BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BblP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。
由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息。

2、GIF格式

GIF(Graphics Interchange Format)的原义是“图像互换格式”,是CompuServe公司在 1987年开发的图像文件格式。GIF文件的数据,是一种基于LZW算法的连续色调的无损压缩格式。其压缩率一般在50%左右,它不属于任何应用程序。目前几乎所有相关软件都支持它,公共领域有大量的软件在使用GIF图像文件。
GIF图像文件的数据是经过压缩的,而且是采用了可变长度等压缩算法。所以GIF的图像深度从lbit到8bit,也即GIF最多支持256 种色彩的图像。GIF格式的另一个特点是其在一个GIF文件中可以存多幅彩色图像,如果把存于一个文件中的多幅图像数据逐幅读出并显示到屏幕上,就可构成一种最简单的动画。
GIF解码较快,因为采用隔行存放的GIF图像,在边解码边显示的时候可分成四遍扫描。第一遍扫描虽然只显示了整个图像的八分之一,第二遍的扫描后也只显示了1/4,但这已经把整幅图像的概貌显示出来了。在显示GIF图像时,隔行存放的图像会给您感觉到它的显示速度似乎要比其他图像快一些,这是隔行存放的优点。

3、JPEG文件格式

JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为“.jpg”或“.jpeg”,是最常用的图像文件格式,由一个软件开发联合会组织制定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是JPEG压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。而且 JPEG是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在10:1到40:1之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。比如可以把1.37Mb的BMP位图文件压缩至20.3KB。当然也可以在图像质量和文件尺寸之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持24bit真彩色,也普遍应用于需要连续色调的图像。
JPEG格式是目前网络上最流行的图像格式,是可以把文件压缩到最小的格式,在 Photoshop软件中以JPEG格式储存时,提供11级压缩级别,以0—10级表示。其中0级压缩比最高,图像品质最差。即使采用细节几乎无损的10 级质量保存时,压缩比也可达 5:1。以BMP格式保存时得到4.28MB图像文件,在采用JPG格式保存时,其文件仅为178KB,压缩比达到24:1。经过多次比较,采用第8级压缩为存储空间与图像质量兼得的最佳比例。
JPEG格式的应用非常广泛,特别是在网络和光盘读物上,都能找到它的身影。目前各类浏览器均支持JPEG这种图像格式,因为JPEG格式的文件尺寸较小,下载速度快。
JPEG2000作为JPEG的升级版,其压缩率比JPEG高约30%左右,同时支持有损和无损压缩。JPEG2000格式有一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示。此外,JPEG2000还支持所谓的“感兴趣区域”特性,可以任意指定影像上感兴趣区域的压缩质量,还可以选择指定的部分先解压缩。
JPEG2000和JPEG相比优势明显,且向下兼容,因此可取代传统的JPEG格式。JPEG2000即可应用于传统的JPEG市场,如扫描仪、数码相机等,又可应用于新兴领域,如网路传输、无线通讯等等。

///
JPG
///

jpg全名是JPEG 。JPEG 图片以 24 位颜色存储单个光栅图像。JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压缩是有损耗的。渐近式 JPEG 文件支持交错。

可以提高或降低 JPEG 文件压缩的级别。但是,文件大小是以图像质量为代价的。压缩比率可以高达 100:1。(JPEG 格式可在 10:1 到 20:1 的比率下轻松地压缩文件,而图片质量不会下降。)JPEG 压缩可以很好地处理写实摄影作品。但是,对于颜色较少、对比级别强烈、实心边框或者 纯se 区域 大的较简单的作品,JPEG 压缩无法提供理想的结果。

优点:摄影作品或写实作品支持高级压缩。利用可变的压缩比可以控制文件大小。支持交错(对于渐近式 JPEG 文件)。广泛支持 Internet 标准。由于体积小,jpg在万维网中被用来储存和传输照片的格式。

缺点:有损耗压缩会使原始图片数据质量下降。   当您编辑和重新保存 JPEG 文件时,JPEG 会混合原始图片数据的质量下降。这种下降是累积性的。JPEG 不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片。

4、TGA格式

TGA格式(Tagged Graphics)是由美国Truevision公司为其显示卡开发的一种图像文件格式,文件后缀为“.tga”,已被国际上的图形、图像工业所接受。 TGA的结构比较简单,属于一种图形、图像数据的通用格式,在多媒体领域有很大影响,是计算机生成图像向电视转换的一种首选格式。
TGA图像格式最大的特点是可以做出不规则形状的图形、图像文件,一般图形、图像文件都为四方形,若需要有圆形、菱形甚至是缕空的图像文件时,TGA可就派上用场了! TGA格式支持压缩,使用不失真的压缩算法。

5、PNG格式

PNG是20世纪90年代中期开始开发的图像文件存储格式,其目的是试图替代GIF和TIFF文件格式,同时增加一些GIF文件格式所不具备的特性。流式网络图形格式(Portable Network Graphic Format,PNG)名称来源于非官方的“PNG's Not GIF”,是一种位图文件(bitmap file)存储格式,读成“ping”。PNG用来存储灰度图像时,灰度图像的深度可多到16位,存储彩色图像时,彩色图像的深度可多到48位,并且还可存储多到16位的α通道数据。PNG使用从LZ77派生的无损数据压缩算法。

重要特性:PNG格式图片因其高保真性、透明性及文件大小较小等特性,被广泛应用于网页设计、平面设计中。网络通讯中因受带宽制约,在保证图片清晰、逼真的前提下,网页中不可能大范围的使用文件较大的bmp、jpg格式文件,gif格式文件虽然文件较小,但其颜色失色严重,差强人意,所以PNG格式文件自诞生之日起就大行其道。  PNG格式图片通常被我们当做素材来使用,在设计过程中,不可避免的要搜索相关文件,如果是JPG格式文件,抠图就在所难免,费时费力,gif格式虽然具有透明性,但其只是对其中一种或几种颜色设置为完全透明,并没有考虑对周围颜色的影响,所以此时PNG格式文件就成了我们的不二之选。我们经常在网页中看到整个页面使用同一个PNG图片做背景,按钮、导航条等全做在一张图片上,其实就是这个道理,究其缘由无非就是PNG图片在下载过程中占带宽较小,而且颜色逼真,下载一次可重复使用。

解析BMP GIF JPEG TGA PNG图像格式相关推荐

  1. 数字图像处理-bmp与jpeg格式互相转换

    原理 JPEG图像的存储压缩结构 参考链接:https://www.zhihu.com/question/22116845/answer/22998727 来源:知乎 JPEG文件的格式是分为一个一个 ...

  2. C++图片格式转换:BMP转JPEG

    C++方式将BMP格式转换为JPEG格式,依赖了一个第三方库,工程下载链接为:点击打开链接 Bmp2Jpeg.h: #pragma onceclass CBmp2Jpeg { public:CBmp2 ...

  3. delphi中Bmp转Jpeg JPG转BMP

    ;----Bmp转Jpeg----- uses Jpeg; procedure TForm1.Button1Click(Sender: TObject); Var Jpg : TJpegImage; ...

  4. 图解Winhex解析BMP文件数据实例

    一 实例解析 示例图片的属性: 原图: 红线处是文件头结束: 第二个红线处是位图信息头结束: 用windows画图取第(2,2)像素点的颜色:画图是从0开始计数,即第3行3列的像素: 搜索16进制的B ...

  5. c#如何wmf图片转换成png图片_C#图片格式转换(支持bmp/gif/jpeg/png/tiff/wmf文件)

    [实例简介] [实例截图] [核心代码] using System; using System.Drawing; using System.Collections; using System.Comp ...

  6. BMP位图基础:通过UltraEdit解析BMP文件内部结构

    初见位图 我们先打开画图随便画一幅图并采用24位bmp图像格式保存,就得到了一张24位真彩色的位图 BMP位图一般由4部分组成:文件头信息块.图像描述信息块.颜色表(在真彩色模式无颜色表)和图像数据区 ...

  7. 用c语言处理bmp开运算,c语言解析bmp图片

    心血来潮想了解下常用图片的格式解析,翻看了一些资料后,发现最简单的是bmp格式,所以先拿它开刀. BMP格式 这种格式内的数据分为三到四个部分,依次是: 文件信息头 (14字节)存储着文件类型,文件大 ...

  8. FFmpeg开发实战(五):bmp转换为jpeg格式图像

    文章目录 1. bmp结构 2. bgr24转yuv420p 3. yuv420转jpeg 4. 下载 本文介绍了将bmp格式图像转换为jpeg格式图像的方法,附有详细的代码和图像示例. 1. bmp ...

  9. 【毕业设计】基于STM32的无线WIFI投影设计(解析BMP、TCP通讯)

    目录 0 引言 1 硬件设计 框图: 2 软件设计 main.c bitmap.c 3 重点难点(BMP文件格式解析.内存与屏幕显示的对应) 4 写在最后 0 引言 有幸做过一个无线传输的设计,有关B ...

最新文章

  1. Python2 与 Python3 区别
  2. Docker_DockerFile
  3. Hadoop之NameNode和SecondaryNameNode工作机制详解
  4. 解构里面再次解构_解构后的咖啡:焙炒,研磨和分层,以获得更浓的意式浓缩咖啡
  5. 使用gridlayout布局后,因某些原因又删除,并整理文件夹结构时,Unable to resolve target #39;android-7#39;...
  6. 最短路(hdu4725)(建点巧妙)
  7. Mac在Anaconda中安装XGBoost
  8. golang导入包的理解
  9. openNLP--Sentence Detector
  10. 基于Vivado的程序下载
  11. matlab程序代码 伪码捕获_GNSS_SDR_a 实现北斗卫星的伪随机码产生和捕获跟踪,其中主函数为initial 。 matlab 262万源代码下载- www.pudn.com...
  12. 将python(py文件)转换成.exe方法
  13. 下载firefox国际版
  14. 电商类-仿美团页面demo
  15. 使用Keras构建深度图像搜索引擎
  16. Objective-C 理解之方括号[ ]的使用
  17. 时代“前浪”迅雷拍被打暗礁,Q2财报或道出缘由
  18. 2022生物降解塑料展|广州可降解塑料展
  19. 幸福,是一种有节制的满足,冷暖自知。
  20. 特朗普荣获医学教育奖!2020年搞笑诺贝尔奖出炉,还有有味道的一系列研究......

热门文章

  1. 一名优秀的数据分析,需要满足哪些基本条件?
  2. Win10安装cuda和cudnn(可安装多版本并自由切换)
  3. 4种 LBS “附近的人” 实现方案,人人都能看的懂
  4. esaywechat 微信公众号jsapi支付
  5. 搜狗号正式上线广告收益功能!
  6. 【插件】Unity插件UnitySRDebugger的简单使用
  7. 华为认证--云计算HCIA
  8. 爬取指定网页并制作词云图
  9. C语言学会数组就可以做五子棋 - 快来试试吧(包含源码)
  10. torch.cumsum(),torch.sum()