一:GIF(Graphics Interchange Format)

简介

GIF图形交换格式是一种位图图形文件格式,以8位色(即256种颜色)重现真彩色的图像。

它实际上是一种压缩文档,采用LZW压缩算法进行编码,有效地减少了图像文件在网络上传输的时间。

它是目前广泛应用于网络传输的图像格式之一。

优点

1. 优秀的压缩算法使其在一定程度上保证图像质量的同时将体积变得很小。
   2. 可插入多帧,从而实现动画效果。
   3. 可设置透明色以产生对象浮现于背景之上的效果。

缺点

由于采用了8位压缩,最多只能处理256种颜色,故不宜应用于真彩图像。
二:PNG(Portable Network Graphics)

便携式网络图片(Portable Network Graphics),简称PNG,是一种无损数据压缩位图图形文件格式。

PNG格式是无损数据压缩的,允许使用类似于GIF格式的调色板技术,支持真彩色图像,并具备Alpha(半透明)等特性。

现在有很多人使用PNG格式于互联网及其他方面上。

PNG规范 W3C建议 (有了解更多详细理论方面知识,和具有探索精神的童鞋可以去看看 抱歉是英文的)

优点

* 支持256色调色板技术以产生小体积文件
    * 最高支持48位真彩色图像以及16位灰度图像。
    * 支持Alpha通道的半透明特性。
    * 支持图像亮度的gamma校正信息。
    * 支持存储附加文本信息,以保留图像名称、作者、版权、创作时间、注释等信息。
    * 使用无损压缩。
    * 渐近显示和流式读写,适合在网络传输中快速显示预览效果后再展示全貌。
    * 使用CRC循环冗余编码防止文件出错。
    * 最新的PNG标准允许在一个文件内存储多幅图像。

缺点

但也有一些软件不能使用适合的预测,而造成过分臃肿的PNG文件。

三:JPG(Joint Photographic Experts Group)

JPEG是一种针对相片影像而广泛使用的一种失真压缩标准方法。

JPEG的压缩方式通常是破坏性资料压缩(lossy compression),意即在压缩过程中图像的品质会遭受到可见的破坏。

优点

JPEG/JFIF是最普遍在万维网(World Wide Web)上被用来储存和传输照片的格式。

JPEG在色调及颜色平滑变化的相片或是写实绘画(painting)上可以达到它最佳的效果。

在这种情况下,它通常比完全无失真方法作得更好,仍然可以产生非常好看的影像(事实上它会比其他一般

的方法像是GIF产生更高品质的影像,因为GIF对于线条绘画(drawing)和图示的图形是无失真,

但针对全彩影像则需要极困难的量化)。

缺点

它并不适合于线条绘图(drawing)和其他文字或图示(iconic)的图形,因为它的压缩方法用在这些图形的型态上,

会得到不适当的结果。

四:简单来说最方便的区分方法是:

png即可移植网络图形格式,也是一种位图文件存储格式,可以进行无损压缩。

而jpg是我们最常见的图片格式了,图片占用存储较少,但是也牺牲了图片质量。

简单地说就是一个无损,一个有损。

JPG是有损图片的压缩类型,有损压缩方式去除冗余的图像和彩色数据,

获取得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像质量。
PNG不是压缩性,能保存透明等图,它同时提供 24位和48位真彩色图像支持以及其他诸多技术性支持。

PNG格式可编辑。如图片中有字体等,可利用PS再做更改
JPG格式不可编辑。
对于两种格式的解析度,PNG高于JPG。
PNG不适用任何场合,因为它的体积很大,不利用显示,完全用于编辑者作为以后更改图片时做的备份之用。
JPG格式用于很多场合,不一一例举。

关于图片的PNG与JPG、JIF格式的更多相关文章

  1. 调用opencv相关函数,从视频流中提取出图片序列&&&&jpg图片序列,转化成avi格式视频

    /************************ @HJ 2017/3/30 参考http://blog.sina.com.cn/s/blog_4b0020f301010qcz.html修改的代码 ...

  2. html中canvas渲染图片,并转化成base64格式保存

    最近在做一个上传头像然后保存显示的功能,因为涉及到裁剪大小和尺寸比例,所以直接上传图片再展示的话,就会出现问题,所以就想用canvas来渲染裁剪后的图片,然后转化成base64格式的图片再存储,这样取 ...

  3. 对索引像素格式的图片进行Setpixel(具有索引像素格式的图像不支持SetPixel)解决方案

    最近编写了一个验证码识别软件.其中对png.jpg图片进行二值化处理时,出现了错误:具有索引像素格式的图像不支持SetPixel解决方案.从字面上来看,这说明我对一个具有索引色的图片进行了直接RGB颜 ...

  4. python的N个小功能(找到符合要求的图片,重命名,改格式,缩放,进行随机分配)

    ########################################################################## 循环读取该目录下所有子目录和子文件 ####### ...

  5. H5利用formData来上传文件(包括图片,doc,pdf等各种格式)方法小结!

    H5页面中我们常需要进行文件上传,那么怎么来实现这个功能呢??? 我主要谈如下两种方法. (一).传统的form表单方法 <form action="/Home/SaveFile1&q ...

  6. vue element-ui 组件上传图片 以及对 图片的 宽高 和 大小 格式等 做出限制

    vue  文件: 自行引用 elemen-ui    <el-upload                         action=" 让后端给你上传地址 "      ...

  7. 将图片保存成png 或者jpg格式

    -(void)saveImage:(UIImage*)image{    NSString  *pngPath = [NSHomeDirectory() stringByAppendingPathCo ...

  8. VC2005中将Picture控件显示图片保存为BMP,JPG等格式

    1.在stdafx.h头文件中加入 #include <atlimage.h> 2.保存图片 方法一:   HBITMAP hBitmap = NULL; //创建位图段 BITMAPIN ...

  9. web 上读取图片,并转化为指定格式

    一. 转换为 base64 public static string ObtainBase64FromWeb(string domain, string path) { string url = &q ...

随机推荐

  1. C#开源日志Nlog入门

    c#语言使用的日志比较多,比如:Log4.NLog等,今天我就简单随笔记录哈NLog的使用. 1.NLog的安装: 直接在VS编译器中打开程序包管理器,输入Install-Package NLogin ...

  2. IOS系列swift语言之课时二

    今天我们要讲的就是函数[对于函数,在最后面还有几道题,喜欢的博友可以看了自己做一下,和我交流一下] 当然这与我们的c语言还是有一定的共同之处的,对于有一些c语言或者是java基础的童鞋,我觉得是很容易 ...

  3. 视图必须派生自 WebViewPage 或 WebViewPage<TModel>

    后端汇总:http://www.cnblogs.com/dunitian/p/4523006.html#efmvc 后来发现原来吧web.config给删了 这就简单了,复制其他项目的web.conf ...

  4. Unity事件

    unity3d事件函数整理,事件,回调函数,消息处理 Unity3D中所有控制脚本的基类MonoBehaviour有一些虚函数用于绘制中事件的回调,也可以直接理解为事件函数,例如大家都很清楚的Star ...

  5. Boot from Volume - 每天5分钟玩转 OpenStack(61)

    Volume 除了可以用作 instance 的数据盘,也可以作为启动盘(Bootable Volume),那么如何使 volume 成为 bootable 呢? 现在我们打开 instance 的 ...

  6. SubSonic3.0 Demo1.0——应用了T4模版可减少开发过程中70%以上的代码量以及80%以上的出错率

    应网友的要求,抽了点时间写了这个Demo,希望对2.2版想升级到3.0的朋友或正在使用3.0的朋友有所帮助.大家在使用Demo过程中如果发现什么问题或有什么建议,可以直接将Bug提交给我或告诉我,我会 ...

  7. Rust初步(六):在C#中使用Rust组件

    上一篇文章,我们通过实例比较了一下C#和Rust的性能表现,应该说在Release模式下面,Rust进行计算密集型的运算还是有些比较明显的优势的.那么,我们有没有可能,在C#中做一些快速应用开发,而一 ...

  8. MySQL数据类型的验证

    CHAR char (M) M字符,长度是M*字符编码长度,M最大255. 验证如下: mysql)) default charset=utf8; ERROR (): ); use BLOB or T ...

  9. 基于android studio编译工具下的android开发之IBeacon 例子

    想直接看主要内容的请调到红字下面. 之所以会接触到android下的IBeacon,是因为我自己导师给的任务.一个网址http://estimote.com/和一句话:看看这个网站,然后试下在安卓手机 ...

  10. 前端项目构建之yeoman

    各位好啊,我又和大家见面了,也许你已经不记得大明湖畔的容嬷嬷,但是只要记得博客园中的我就好,希望我的博客能像一股清风,为你驱散炎热的酷暑,好了,废话不多说,开始上干货,我今天带给大家的是前端工程化开发 ...