一: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. Android笔记——关于Cursor类的介绍

    使用过 SQLite数据库的童鞋对 Cursor 应该不陌生,加深自己和大家对Android 中使用 Cursor 的理解. 关于 Cursor 在你理解和使用 Android Cursor 的时候你 ...

  2. IIS7.5+WebConfig实现页面伪静态和301重定向

    IIS7.5+WebConfig实现页面伪静态和301重定向 使用URLRewriter组件在windows 2003 +iis 6.0下配置伪静态的文章网络上一大堆.但在iis7.0或iis 7.5 ...

  3. CoreData和SQLite多线程访问时的线程安全

    关于CoreData和SQLite多线程访问时的线程安全问题 数据库读取操作一般都是多线程访问的.在对数据进行读取时,我们要保证其当前状态不能被修改,即读取时加锁,否则就会出现数据错误混乱.IOS中常 ...

  4. Android之OptionsMenu与Notification的实现

    OptionsMenu是Android提供的一种菜单方式,我们知道当智能机刚兴起时,手机上都会有一个MENU(菜单键),当我们点击时,默认我们打开Android提供的默认菜单,本篇我么就一起来学一下, ...

  5. Android音视频之MediaRecorder音视频录制

    前言: 公司产品有很多地方都需要上传音频视频,今天抽空总结一下音频视频的录制.学习的主角是MediaRecorder类. MediaRecorder类介绍: MediaRecorder类是Androi ...

  6. 从零开始编写自己的C#框架(7)——需求分析

    本章内容虽然叫“需求分析”,实际上关于具体的需求分析操作步骤并没有深入去写,因为细化的话那将是一本厚厚的书,而需求分析在本系列中,是帮助大家了解项目的基本要求(主要针对本项目而已).而写本章的主要目的 ...

  7. ES6 - Note6:Set与Map

    Set和Map是ES6中新增的数据结构,Set是集合,无序唯一,Map类似于对象,也是"key-value"形式,但是key不局限于字符串. 1.Set的用法 Set是构造函数,可 ...

  8. IOS开发之自定义Button(集成三种回调模式)

    前面在做东西的时候都用到了storyboard,在今天的代码中就纯手写代码自己用封装个Button.这个Button继承于UIView类,在封装的时候用上啦OC中的三种回调模式:目标动作回调,委托回调 ...

  9. 【记录】JS 获取 URL 中文参数编码

    比如 URL:http://www.xxxx.com/中文参数 这个在 js 获取"中文参数"的时候会出现乱码. 解决方法:decodeURIComponent(获取的中文参数);

  10. ios UIWebView 在开发中加载文件

    UIWebView 在实际应用中加载文件的时候,有两种情况, 1. 实行在线预览 , 2. 下载到本地,再查看 如果是第一种情况: NSURL *url = [NSURL URLWithString: ...