GIF (.gif)
背景
-
- 注册的 MIME 类型:image/gif
- GIF 光栅图像格式.
- 常用于网页中的静态和动画图形.
- GIF 是 Graphics Interchange Format(图形交换格式)的缩写.
- 二进制格式.
- 限制后使用 LZW 无损压缩至8位调色板.
- 支持透明度.
- 由 CompuServe 于 1987 年开发.
Import 与 Export
- Import["file.gif"] 导入一个 GIF 文件,返回一个单一的 Image 对象或图像列表.
- Import["file.gif",elem] 从 GIF 文件导入指定的参数.
- 导入格式可用 Import["file","GIF"] 或 Import["file",{"GIF",elem,…}] 指定.
- Export["file.gif",expr] 把图形、图像或其它表达式导出至 GIF.
- Export["file.gif",{expr1,expr2,…}] 把图形或图形列表作为动画导出.
- Export["file.gif",Manipulate[…]] 导出一个 Manipulate 对象的动画演示.
- 当把 Wolfram 语言的图形或任意表达式导出至 GIF,导出的图像具有与显示形式相同的光栅尺寸.
- 默认情况下,图像对象按它们的光栅尺寸导出.
- 因为 GIF 是一个光栅图像格式,所有导出的字体被光栅化.
- 请到以下参考页面了解完整的基本信息:
-
Import, Export 从文件导入或导出到文件 CloudImport, CloudExport 从云对象导入或导出到云对象 ImportString, ExportString 从字符串导入或导出到字符串 ImportByteArray, ExportByteArray 从字节数组导入或导出到字节数组
Import 参数
- Import 的通用参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表 - 表示数据的参数:
-
"Animation" 被表示为动画对象的动画 GIF "Data" RGB 颜色值数组 "Graphics" GIF 文件的首帧,以 Graphics 对象的形式给出 "GraphicsList" 动画 GIF 的帧,以 Graphics 对象的列表形式表示 "Image" GIF 文件的首帧,以 Image 对象的形式给出 "ImageList" 动画 GIF 的帧,以 Image 对象列表的形式给出 "RawData" 彩色地图索引数组 {"Thumbnail",size} 首个图像的缩略图(默认 size = Small) {"ThumbnailList",frames,size} 缩略图列表(默认 frames=All,size=Small) - 默认情况下,对于静态 GIF,Import 使用 "Image" 参数,动画 GIF 使用 "ImageList".
- 具有参数 "Image" 的动画 GIF 的 Import 给出动画的首帧.
- 默认情况下,如果所提供表达式为图像列表或一个 Manipulate,Export 生成一个动态 GIF,请他情况为静态 GIF.
- 具有参数 "Graphics" 或 "Image" 的 Export 总是产生一个静态的 GIF.
- 高级的 Import 参数:
-
"AnimationRepetitions" 停止前,动画被播放次数 "Background" 显示在透明图像区域的背景颜色 "BitDepth" 用于表示文件中每个颜色通道的比特 "Channels" 文件中使用的颜色通道数 "ColorMap" 颜色复原调色板,以颜色值的列表给出 "ColorSpace" 文件使用的颜色编码 "Comments" 存储在文件中的用户注释 "DisplayDurations" 以秒为单位显示动画帧的持续时间 "DisposalOperation" 生成下一帧前清理操作 "GlobalColorMap" 对于单独帧默认使用调色板 "ImageCount" 动画 GIF 的帧数 "RasterSize" 光栅尺寸 "Summary" 文件摘要 "SummarySlideView" 所有帧的幻灯片显示摘要 "TransparentColor" 解释为透明的颜色 - 从动画 GIF 中导入 "ColorMap" 参数将以列表形式返回颜色映射.
- GIF 最大支持 256 色颜色面板,通常以每颜色通道 8 位分辨率存储颜色.
- "DisposalOperation" 指定在创建下一帧之前如何处理当前帧. 以下为可用值:
-
"None" 无处理 "Background" 用背景色替换 "Previous" 用前一帧替换 Missing["NotAvailable"] 缺少处理操作
选项
- Import 和 Export 选项:
-
ImageSize Automatic 图像总体大小 "ImageTopOrientation" Top 存储在文件中图像方向 RasterSize Automatic 图像尺寸 - 默认情况下,图像按全尺寸导出,通常具有自动量化.
- Export 选项:
-
"ColorMapLength" Automatic 用于量化的颜色数目 "ColorMapMode" "Local" 是否创建本地或全域色表 Dithering "FloydSteinberg" 抖动算法用于创建褪色表格 ImageFormattingWidth $ImageFormattingWidth 格式化对象时的目标宽度 "QuantizationMethod" Automatic 用于量化的方法 "TransparentColor" Automatic 解释为透明的颜色 - "Dithering" 的可能设置为 "FloydSteinberg" 或 None.
- 动态 GIF Export 选项:
-
"ControlAppearance" Automatic Manipulate 如何控制在导出文件中渲染的元素 "DisplayDurations" Automatic 以秒为单位,每帧显示的持续时间 "Interlaced" False 是否以隔行扫描的形式存储图形并允许渐进渲染 AnimationRepetitions Infinity 停止前,动画被播放多少次 "DisposalOperation" Automatic 创建下一帧之前的处置操作 "RemoveDuplicatedFrames" False 是否删除重复帧 - "ControlAppearance" 可给出以下设定:
-
Automatic 运用本地计算机系统的风格元素,截取与在笔记本中完全相同的用户控制 "Generic" 以通用样式呈现图形控制 None 在导出动画时,排除控制参数 - "DisplayDurations"->{d1,d2,…} 指定动画 GIF 中每帧显示的持续时间. 如果显示的持续时间列表短于帧数,序列按需重复.
- "DisposalOperation" 的可用值为:
-
Automatic 或 None 不可处理 "Background" 用背景颜色替换 "Previous" 用前一帧替换
范例
打开所有单元关闭所有单元范围 (3)
通过导入 Graphics 表达式列表创建动画 GIF:
导入元素 (26)
数据表示 (11)
元数据 (12)
"ColorSpace" (1)
"ImageSize" (1)
导入选项 (2)
导出选项 (12)
"ControlAppearance" (1)
"TransparentColor" (1)
透明色被 Transparent 代替:
"DisposalOperation" (3)
导出具有透明背景和默认 "DisposalOperation" 的动画 GIF:
要始终在透明画布(填充背景色)上绘制帧,请使用"DisposalOperation"->"Background":
指定 None 为第一帧的处理操作,以查看 "Previous" 和 "Background" 操作之间的区别: