一、gif格式的特点

1、透明性。gif是一种布尔透明类型,即它可以是全透明,也可以是全不透明,但是没有半透明

2、动画。gif支持动画

3、无损耗性。gif是一种无损耗的图像格式,这意味着你可以对gif图片做任何操作也不会使图片质量产生损耗

4、水平扫描。gif使用了LZW的算法进行压缩,当压缩gif的过程中,像素是由上到下水平压缩的,这意味着同等条件下,横向的gif图片比竖向的gif图片更加小。例如500*10的图片比10*500的图片更加小

5、间隔渐进显示。gif支持可选择性的间隔渐进显示

所以只有256种颜色的gif图片不适合照片,但它适合对颜色要求不高的图形,如图标等。

二、jpeg(jpg)格式的特点

1、透明性。它不支持透明

2、动画。它不支持动画

3、损耗性。除了一些旋转、裁切、从标准类型到先进类型、编辑图片的元数据之外,所有其他操作对jpeg图像的处理都会使得它的质量损失。所以在编辑过程中一般使用png作为过渡格式

4、隔行渐进显示。它支持隔行渐进显示。IE浏览器不支持这个属性,但是IE会在整个图像信息完全到达时显示

所以jpeg是最适合web上的摄影图片和数字照相机中

三、png格式的特点

1、类型。png包括了许多子类,但大致可分为256色的png和全色的png。

2、透明性。png完全支持alpha透明(全透明、半透明、不透明)。

3、动画。它不支持动画

四、PNG图片格式的三种类型

1、png8:256色png的别名

2、png24:全色png的别名

3、png32:全色png的别名

基本上png32就是png24,但是附带了全alpha通道。即每个像素上不仅存储了24位真色彩信息还存储了8位的alpha通道信息。当我们把图片放在不太搭配的背景上时,透明png图片的边缘会显示得更加平滑

五、png8在IE中的怪异表现

1、半透明的png8在IE6以下的浏览器显示为全透明

2、alpha透明的全色png(png32)在IE6中会出现背景颜色(通常是灰色)

六、png8的软件问题

1、photoshop只能导出布尔透明的png8

2、fireworks既能导出布尔透明的png8,也能导出alpha透明的png8

jpg、gif、png-8、png-24的区别的更多相关文章

  1. php时间12小时和24小时区别

    date('Y-m-d H:i:s',$row1['time']) 大写H为24小时制 小写h为12小时制

  2. delphi中Record 和Packed Record的区别

    Record 和Packed Record 第一种不带packed关键字的结构体表明编译器编译时要求进行字对齐,而第二种带packed关键字的结构体表明编译器编译该结构体时不需要进行字对齐,这种方式对 ...

  3. 深入浅出Hyper-V网络虚拟化技术

    年后综合症刚刚消失殆尽,转眼就要迎接各种新的工作任务了:之前写过一篇有关hyper-v网络虚拟化内容的博文,主要是从操作系统层面入手,概要性的总结了一下,基本也都是参考了大部分官方内容再加以个人修饰: ...

  4. Android群英传笔记——第六章:Android绘图机制与处理技巧

    Android群英传笔记--第六章:Android绘图机制与处理技巧 一直在情调,时间都是可以自己调节的,不然世界上哪有这么多牛X的人 今天就开始读第六章了,算日子也刚好一个月了,一个月就读一半,这效 ...

  5. C++11中右值引用和移动语义

    目录 左值.右值.左值引用.右值引用 右值引用和统一引用 使用右值引用,避免深拷贝,优化程序性能 std::move()移动语义 std::forward()完美转发 容器中的emplace_back ...

  6. 颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别?计算机颜色格式( 8位 16位 24位 32位色)<转>

    颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别简单地说这里说的位数和windows系统显示器设置中的颜色位数是一样的.表示的是能够显示出来的颜色的多少. 8位的意思是说,能够显示出 ...

  7. png8、16、24、32位的区别

    我们都知道一张图片可以保存为很多种不同的格式,比如bmp/png/jpeg/gif等等.这个是从文件格式的角度看,我们抛开文件格式,看图片本身,我们可以分为8位, 16位, 24位, 32位等. 单击 ...

  8. 2017/2/24:Maven的pom jar war的区别

    首先,Run ——> Edit Configurations,这时候如下图: 然后点击左上角的加号,可以添加一个新的配置,如下图: 选择Maven,如下图: 下面填上自己的配置信息,点击appl ...

  9. 【Java面试题】24 sleep() 和 wait() 有什么区别? 详细解析!!!!

    第一种解释: 功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩.         还有用法的上的不同是:sleep(milliseconds)可 ...

  10. 2016/2/24 . html . htm . shtml 的区别

    htm.html.shtml网页区别     htm.html.shtml区别 接下来我们来了解下htm.shtml.html这三者之间区别.首先htm.html.shtml都是静态网页的后缀,三者也 ...

随机推荐

  1. contos mysql 删除

    yum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf查看是否还有mysq ...

  2. nodejs, vue, webpack 项目实践

    vue 及 webpack,均不需要与nodejs一期使用,他们都可以单独使用到任何语言的框架中. http://jiongks.name/blog/just-vue/ https://cn.vuej ...

  3. golang 的 buffered channel 及 unbuffered channel

    The channel is divided into two categories: unbuffered and buffered. (1) Unbuffered channelFor unbuf ...

  4. Kubernetes总结

    1.Kubernetes简介 在了解Kubernetes之前,我们有必要先简单了解一下传统的运维模式.在传统的项目架构中(单体or微服务),我们一般将项目打包为war或fatJar的方式进行部署. 在 ...

  5. 调用run与调用start的区别

    调用start的结果 package TestException; public class test1 { public static void main(String[] args) { // 3 ...

  6. centos7 yum 安装mysql5.6

    这里用科技大学的mysql yum源官方的源太慢 [root@localhost ~]# rpm -ivh http://mirrors.ustc.edu.cn/mysql-repo/mysql-co ...

  7. 25-Python3 错误和异常

    25-Python3 错误和异常 ''' 语法错误 ''' # while True print('hello,runoob') ''' 异常 ''' ##ZeroDivisionError # pr ...

  8. [LeetCode] 110. Balanced Binary Tree_Easy tag: DFS

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  9. cocos2d JS-(JavaScript) 类型检测与判断

    //检测类型 var str = "Hello World"; if (typeof str=="string") {//使用typeof来判断对象类型的一个例 ...

  10. node.js初识08

    1.模块的概念,在前端的世界里,jq和js的关系,在后台里就是express和原生node的关系, 2.每一个js里的函数都只在当前文件里起作用,如果你希望在其他js里调用这个函数,这么你需要在这个j ...