PNG (.png)
- Import 与 Export 完全支持 PNG 版本 1.2 格式.
- Import 与 Export 支持 PNG 格式 APNG 版本 1.0 后缀.
- Import 与 Export 支持 Exif 2.3、IPTC 4.2 和 XMP 元数据标准.
背景
-
- 注册的 MIME 类型:image/png
- PNG 光栅图像格式.
- 常用于网页上的图形和摄影图像.
- PNG 是 Portable Network Graphics(便携式网络图形)的缩写.
- 二进制格式.
- 存储单个图像.
- 以每通道 8 或 16 比特的分辨率存储彩色位图.
- 灰度图像被表示为每像素 1、2、4、8 或 16 比特.
- 对于 8 和 16 位 RGB 和灰度图像支持 α 通道.
- 支持色彩还原面板使用高达 256 个 8 位 RGB 颜色.
- 于 1995 年开发,作为开放和无专利的 GIF 格式的替代.
- 发布为国际标准 ISO/IEC 15948:2003 和 ISO/IEC 15948:2004.
Import 与 Export
- Import["file.png"] 导入一个 PNG 文件,返回单个 Image 对象或图像列表.
- Import["file.png",elem] 从一个 PNG 文件中导入指定的参数.
- 导入格式可以用 Import["file","PNG"] 或 Import["file",{"PNG",elem,…}]指定.
- Export["file.png",expr] 把一个图像、图形或任何其他表达式作为一个光栅图像导出至 PNG.
- Export["file.png",{expr1,expr2,…}] 导出作为动画的图形和图像列表.
- Export["file.png",Manipulate[…]] 导出 Manipulate 对象的动态演示.
- 当将 Wolfram 语言图像或任意表达式导出为 PNG 时,导出结果图像与显示格式的光栅尺寸相同.
- 默认情况下,图像对象以其完整光栅尺寸导出.
- 由于 PNG 是光栅图像格式,所有字体在导出时候被光栅化.
- 请到以下参考页面了解完整的基本信息:
-
Import, Export 从文件导入或导出到文件 CloudImport, CloudExport 从云对象导入或导出到云对象 ImportString, ExportString 从字符串导入或导出到字符串 ImportByteArray, ExportByteArray 从字节数组导入或导出到字节数组
Import 参数
- Import 的通用参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表 - 数据表示的参数:
-
"AnimatedImage" 动画 PNG 表示为 AnimatedImage 对象 "Animation" 动态的 PNG 代表一个动态对象 "Data" 像素值数组 "Graphics" PNG 文件的首帧,作为 Graphics 对象给出 "GraphicsList" 作为 Graphics 对象列表的动画 PNG 帧数 "Image" 光栅图像,以一个 Image 对象给出 "ImageList" 作为 Image 对象列表的动态 PNG 的帧数 "RawData" 色图指数数组 {"Thumbnail",size} 给定 size 的缩略图(默认 size = Small) {"ThumbnailList",frames,size} 缩略图列表(默认 frames=All、size=Small) - 默认情况下,Import 对于静态 PNG 使用 "Image" 参数并对动态 PNG 使用 "ImageList"参数.
- 对有 "Image" 参数的动态 PNG 使用 Import 时,给出动画的首帧.
- 默认情况下,如果所提供表达式为图像列表或一个 Manipulate,Export 生成一个动态 PNG,请他情况为静态 PNG.
- Import 的高级参数:
-
"AnimationRepetitions" 停止前动画播放次数 "BitDepth" 用于表示文件中每个色彩通道的位数 "BlendOperation" 是否执行阿尔法混合来创建下一帧 "CameraTopOrientation" 照片拍摄时的相机方向 "Channels" 文件中使用的颜色通道数 "ColorMap" 彩色还原色板,以颜色值列表给出 "ColorProfileData" 内嵌的色彩配置,以 ColorProfileData 对象给出 "ColorSpace" 文件中使用的色彩编码 "Comments" 文件中存储的用户注释 "DisplayDurations" 以秒计算的动态帧的播放时间 "DisposalOperation" 创建下一帧前的处理操作 "FlashUsed" - 是否使用闪关灯
"GeoPosition" 作为 GeoPosition 对象表示的经度和纬度 "GPSDateTime" - 由 GPS 注册的图像创建日期和时间
"ImageCount" 动态 PNG 中的帧数 "RasterSize" 光栅尺寸 "RedEyeCorrection" 是否执行了红眼修正 "Summary" 文件摘要 "SummarySlideView" 所有帧的幻灯片显示摘要 - PNG 支持几乎所有 256 色的颜色面板,通常用每个颜色频道 8 位解析度存储颜色.
- "DisposalOperation" 指定在创建下一帧前如何处理当前帧. 以下为可用值:
-
"None" 无处理 "Background" 用完全透明的黑色背景替代 "Previous" 用前一帧替代 - "BlendOperation" 在处理后,指定是否用下一帧阿尔法混合当前帧.
- 元数据参数:
-
"Exif" 格式化的 Exif(交换图像文件格式) "IPTC" 格式化的 IPTC(国际新闻电信理事会) "XMP" 格式化的 XMP(可扩展的元数据平台) "MetaInformation" 文件中存在的所有格式化元数据的组合 - 在文件中存储的原始元数据可用 "RawExif"、"RawXMP" 和 "RawIPTC" 参数导入,返回在关联中.
- 所有 Exif 和 IPTC 标签可单独导入. 常用标签包括:
-
"ApertureValue" 镜头光圈 "Artist" 摄影师或图形制作者 "DateTime" 图像创作日期和时间 "ExposureTime" 以秒数给定的曝光时间 "FlashInfo" - 闪光信息:闪光执行、红颜修正等
"FNumber" F 值 "FocalLength" 以毫米给定的镜头实际焦距 "GPSAltitude" GPS 位置高度 "GPSLatitude" GPS 位置纬度 "GPSLongitude" GPS 位置经度 "Make" 记录设备的制造商 "Model" 设备的型号名称和编号 "Software" 用于生成图像的相机或图像导入设备的软件或固件名称和版本
选项
- Import 和 Export 选项:
-
IncludeMetaInformation All 导入和导出的元数据类型 "ImageTopOrientation" Automatic 存储在文件中图像的方向 RasterSize Automatic 图像尺寸 - Import 选项:
-
"TakeRows" {1,-1} 导入的行 - Export 选项:
-
"ColorSpace" Automatic 文件中使用的颜色编码 "ColorMapLength" Automatic 用于量化的颜色数目 "Comments" None 文本信息 CompressionLevel Automatic 以 0 到 1 之间的数字给出压缩等级 Dithering "FloydSteinberg" 抖动算法用于创建褪色表格 "QuantizationMethod" Automatic ColorQuantize 使用的量化方法 - 用 DitheringNone 进行无抖动处理.
- 支持的 ColorSpace 设定为:"Grayscale" 和 "RGB". 使用 ColorSpace->Automatic,Export 尝试产生有相同色彩空间的 PNG 文件.
- 动态 PNG 的 Export 选项:
-
AnimationRepetitions Infinity 停止前,动画被播放多少次 "ControlAppearance" Automatic Manipulate 如何控制在导出文件中渲染的元素 "DisplayDurations" Automatic 以秒为单位,每帧显示的持续时间 "Interlaced" False 是否以隔行扫描的形式存储图形并允许渐进渲染 "RemoveDuplicatedFrames" False 是否删除重复帧 - "ControlAppearance" 可给出以下设定:
-
Automatic 运用本地计算机系统的风格元素,截取与在笔记本中完全相同的用户控制 "Generic" 以通用样式呈现图形控制 None 在导出动画时,排除控制参数 - "DisplayDurations"->{d1,d2,…} 指定动画 PNG 中每帧显示的持续时间.
范例
打开所有单元关闭所有单元范围 (3)
将 Manipulate 导出为动态 PNG:
用 Rasterize 将 Manipulate 的截屏导出到 PNG 文件:
导入参数 (40)
数据表示 (11)
"AnimatedImage" (1)
将多帧 PNG 文件导入为 AnimatedImage:
"Graphics" (1)
导入为 Graphics 对象:
"Image" (1)
"ImageList" (1)
获取数据作为 Image 对象列表: