首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

舞动的表情包——浅析GIF格式图片的存储和压缩

GIF格式可以存储多幅彩色图像,如果将这些图像连续播放出来,就能够组成最简单的动画。所以常被用来存储“动态图片”,通常时间短,体积小,内容简单,成像相对清晰,适于在早起的慢速互联网上传播。...所以,想要对GIF图进行压缩,只能从别的方向入手。 探寻GIF格式的存储 想要压缩一个文件,首先要了解它是如何存储的。毕竟,编程的事——万变不离其宗嘛。 ?...作为一种古老的格式,GIF存储规则也相对简单,容易理解,一个GIF文件主要由以下几部分组成。 文件头 图像帧信息 注释 下面我们来分别探究每个部分。...点阵数据本身的存储也是可以进行压缩的,GIF图所采用的是LZW压缩算法。...首先,对于各帧之间没有变化的区域进行了排除,避免存储重复的信息。 其次,对于需要存储的区域做了透明化处理,只存储有变化的像素,没变化的像素只存储一个透明值。

2K40
您找到你想要的搜索结果了吗?
是的
没有找到

浓缩的才是精华:浅析 GIF 格式图片的存储和压缩

GIF 格式可以存储多幅彩色图像,如果将这些图像((https://www.qcloud.com/document/product/460/6925?...所以,想要对GIF图进行压缩,只能从别的方向入手。 探寻GIF格式的存储 想要压缩一个文件,首先要了解它是如何存储的。毕竟,编程的事,万变不离其宗嘛。...[1490352407426_3058_1490352407488.jpg] 作为一种古老的格式,GIF存储规则也相对简单,容易理解,一个GIF文件主要由以下几部分组成。...直观地说,帧信息应该由一系列的点阵数据组成,点阵中存储着一系列的颜色值。点阵数据本身的存储也是可以进行压缩的,GIF图所采用的是LZW压缩算法。...其次,对于需要存储的区域做了透明化处理,只存储有变化的像素,没变化的像素只存储一个透明值。

11.3K80

gif 格式

现在使用gif的场景有很多,很多老师喜欢在课件添加 gif 图片。 在开始讲gif之前,先告诉大家 gif 的格式。 ?...请看图片,gif 图分为图片文件头(File Header),gif信息(GIF Data Stream)和文件结尾(Trailer)三个部分,最主要的是 gif 信息。...在存储时,我们用一个公共的索引表,把图片中用到的颜色提取出来,这就是颜色列表,所以可以减少存放的数据,因为颜色需要使用 4 个 byte 来放。...图片块 这里就是gif 的数据,可以有很多张图片,图片之间存储连续,图片里面包括控制块和图片数据。...这里的图片叫帧,他的信息包括: 帧分隔符 帧数据说明 点阵数据(它存储的不是颜色值,而是颜色索引) 帧数据扩展(只有89a标准支持) 图片的控制块包括图片的图象标识符、图象的性质,一共需要10字节,请看下面

2.1K20

GIF格式解析

GIF文件结构 GIF格式的文件结构整体上分为三部分:文件头、GIF数据流、文件结尾。其中,GIF数据流分为全局配置和图像块。...---- GIF署名(Signature)和版本号(Version): GIF的前6个字节内容是GIF的署名和版本号。我们可以通过前3个字节判断文件是否为GIF格式,后3个字节判断GIF格式的版本。...GIF全局的一些配置。...文件终结 ---- 经过上面的流程,我们完成了对GIF格式除了图像数据之外其他配置的解析。接下来考虑GIF图像数据的解析。 GIF采用LZW压缩算法进行压缩。...这一段不属于GIF格式中的内容,只是相当于Glide自己实现的一种,当源GIF尺寸大于需要显示的GIF时,作的压缩操作。 ---- 以上就是Glide解析GIF的核心代码。

5.3K50

你真的了解 gif 吗?分析 gif 文件和一些奇怪的 gif 特性

gif。...Gif 是所有人都喜欢的,用来分享简短动画片断的文件格式。 大多数人眼中的 gif 正如大多数人所知道的那样,gif 是一种动画文件格式。你可能看过 gif 文件的信息,觉得这些文件可真够大的。...gif 的历史 gif 文件格式是由 Compuserve 在 1987 年创建的。在 1987 年的时候,gif 还是一个相当紧凑的格式!...我们来把图像上传到 4 家头部 gif 托管供应商: tenor giphy imgur gfycat 我们开始的时候 gif 头是这样: xxd Sunflower_as_gif_websafe_gif87a.gif...其实这有点忽悠人,giphy 只接受动画形式的 gif,所以我们必须点击编辑按钮(显示帧编辑器),然后点击完成才行。gif87a 规范中允许存储多张图片,但它们不能有延迟(因此没有动画,见注 3)。

1.2K20

视频转GIF工具(DU GIF Maker中文版)

DU GIF Maker是一款帮助你快速制作GIF动态图片的应用。...DU GIF Maker提供视频转GIF、图片转GIFGIF编辑等丰富功能且简单易用,使用DU GIF Maker,你可以轻松制作动态表情、搞笑GIF、影视GIF、体育精彩瞬间GIF等各种GIF图片,...DU GIF Maker的使用 如上所述,DU GIF Maker能够支持用各种方式制作GIF图片,包括通过录屏制作,视频转GIF,直接拍摄GIF,通过图片直接制作。...另外还支持将已有的GIF图片直接进行编辑。当然它还有一个其他GIF图软件都没有的功能就是支持在输入法中直接输入动图,不过只能在特定的APP中,APP是啥就不说了,因为…反正用不了。...DU GIF Maker的编辑功能 这块儿是设计的最让人省心的地方,几乎没有多余的功能,主要包括GIF图的市场,你可以任意裁剪,速度方面可以支持0.5倍到2倍速度,多少有点局限。

1.9K20

WordPress开发日志:二次修改WP七牛云存储插件适应GIF

七牛云存储是由老部落制作的一款对接七牛云对象存储的插件,它拥有自动重命名、自动上传文件等功能,可以算是业界良心插件。...我最喜欢它的自定义图片规则功能,开启此项后方便我们压缩处理图片,在七牛云那里也可以设置水印等等,非常的方便,不过美中不足的是:由于GIF图片无法适用于图片规则,需要将其排除,否则图片将会无法加载。...寻找替换函数 我们下载WP七牛云存储插件,将其解压,并搜索关键词:匹配正则,来到index.php文件的385行。...后缀名,所以我们这里需要得到每个与正则相匹配的URL,并且取出后缀名,判断是否是GIF,如果是,则完成替换,返回替换后的内容;如果不是,则返回原内容。...效果展示 GIF_SHOW 图片展示 成功实现了GIF和PNG使用不同的图片规则,达到压缩图片和添加水印的效果,如果想要实现本站GIF图片点击播放的效果,可以选择阅览以下文章,通过添加GIF Player

43220

wpf 如何使用 Magick.NET 播放 gif 图片 安装 Magick.NET解析 gif播放 gif

本文告诉大家使用 Magick.NET 的方法播放 gif 图片。 最近在做 gif 播放,发现 gif 播放需要很多内存,于是就使用 Magick.NET 播放,但是这个方式也需要很多的内存。...解析 gif 安装完成之后就可以使用,不过使用之前需要先设置缓存MagickAnyCPU.CacheDirectory,然后进行解析gif。...关于解析参见:WPF 一个性能比较好的 gif 解析库 - 林德熙,这篇文章的解析只能播放常规的 gif ,对于压缩的 gif 是无法进行播放的,如果需要播放压缩后的 gif 那么需要使用 Coalesce...本文的解析gif 方法已经在WPF 一个性能比较好的 gif 解析库 - 林德熙讲到,下面就是代码。...其他播放gif的方法请看WPF 播放 gif ----

91120

Android 播放gif动画

Android只能调用PNG的图片,但想调用Gif的动态图片就比较麻烦;近日发现一个神器可以在Android里直接调用Gif,如此神器只需简单的几步就可以了。简直是我等小辈的好帮手。...这个神器就是:android-gif-drawable GitHub地址:https://github.com/koral--/android-gif-drawable 怎么调用呢?...其实超级简单,在APP\build.gradle文件中加入: implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.7' 建议1.2.7...然后就在XML中引用就可以了,代码如下: <pl.droidsonroids.gif.GifImageView android:background="@mipmap/fla" android...:layout_width="match_parent" android:layout_height="match_parent" /> 这样就能播放动态的Gif动画,还有其他妙用这里就不一一叙述了

1.5K20

一分钟教你如何视频转GIF,录屏转GIF,图片转GIF

GIF是一种很常见的图像文件格式,相信大家微信里或多或少都有一些搞笑的GIF动图表情包吧 ,有时候不好用文字表达的,一张GIF表情包就搞定了。...如何视频转GIF 推荐一个免费的在线视频转GIF网站:https://www.tutieshi.com/video/ 可以自定义转换的GIF动图宽度、时长,还可以压缩后再下载GIF图片。...使用非常简单,点击上传视频,可以在下方的时间轴上,选择生成GIF动图的开始时间以及结束时间,同时还可以选择GIF动图的比例尺寸,然后点击“生成gif”按钮即可。 2....如何图片转GIF 把图片转成GIF,就是把多张静态图片拼接在一起,可以用photoshop完成,手机上的话可以用“一闪” app。 导入想要转GIF的图片,直接转换即可。...一分钟教你如何视频转GIF,录屏转GIF,图片转GIF

2.6K10

【学习图片】05:GIF

理解GIF图像格式,同时解释图像编码的工作原理。 虽然在现代 Web 上不是特别有用,但 GIF(Graphics Interchange Format)为我们对图像编码核心概念的介绍提供了基础。...这就是 GIF 支持它翻页动画的方式:一个帧被绘制到逻辑屏幕上,然后被另一个替换,再另一个取代。当然,当我们处理静态GIF时,这种区别并不重要,它是由绘制在逻辑屏幕上的单帧组成的。...虽然GIF在技术上使用无损压缩,但它确实有一个严重影响图像质量的主要限制:将图像保存为GIF总是会导致保真度降低,除非该图像已经使用256色或更少。...在GIF的逻辑屏幕上绘制的每一帧最多只能包含256种颜色。GIF还支持 "索引透明",一个透明的像素将参考色表中一个透明 "颜色 "的索引。...当编码为GIF时,像阴影这样的微妙渐变变得斑驳,个别像素与周围环境形成鲜明对比: 实际上,无损压缩和调色板量化的结合意味着GIF在现代Web开发中并不是很有用。

1.2K20
领券