PNG (.png)

背景

    • 注册的 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从字节数组导入或导出到字节数组

笔记本界面

  • 在笔记本的前端,插入 图片 以及 打开 菜单允许把一个 PNG 文件导入到一个单元.
  • 选择另存为 可以 PNG 文件的形式把笔记本中被选择的部分导出.

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=Allsize=Small)
  • 默认情况下,Import 对于静态 PNG 使用 "Image" 参数并对动态 PNG 使用 "ImageList"参数.
  • 对有 "Image" 参数的动态 PNG 使用 Import 时,给出动画的首帧.
  • 默认情况下,如果所提供表达式为图像列表或一个 ManipulateExport 生成一个动态 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"用于生成图像的相机或图像导入设备的软件或固件名称和版本

选项

  • ImportExport 选项:
  • IncludeMetaInformationAll导入和导出的元数据类型
    "ImageTopOrientation"Automatic存储在文件中图像的方向
    RasterSizeAutomatic图像尺寸
  • Import 选项:
  • "TakeRows"{1,-1}导入的行
  • Export 选项:
  • "ColorSpace"Automatic文件中使用的颜色编码
    "ColorMapLength"Automatic用于量化的颜色数目
    "Comments"None文本信息
    CompressionLevelAutomatic以 0 到 1 之间的数字给出压缩等级
    Dithering"FloydSteinberg"抖动算法用于创建褪色表格
    "QuantizationMethod"Automatic ColorQuantize 使用的量化方法
  • DitheringNone 进行无抖动处理.
  • 支持的 ColorSpace 设定为:"Grayscale""RGB". 使用 ColorSpace->AutomaticExport 尝试产生有相同色彩空间的 PNG 文件.
  • 动态 PNG 的 Export 选项:
  • AnimationRepetitionsInfinity停止前,动画被播放多少次
    "ControlAppearance"AutomaticManipulate 如何控制在导出文件中渲染的元素
    "DisplayDurations"Automatic以秒为单位,每帧显示的持续时间
    "Interlaced"False是否以隔行扫描的形式存储图形并允许渐进渲染
    "RemoveDuplicatedFrames"False是否删除重复帧
  • "ControlAppearance" 可给出以下设定:
  • Automatic运用本地计算机系统的风格元素,截取与在笔记本中完全相同的用户控制
    "Generic"以通用样式呈现图形控制
    None在导出动画时,排除控制参数
  • "DisplayDurations"->{d1,d2,} 指定动画 PNG 中每帧显示的持续时间.

范例

打开所有单元关闭所有单元

基本范例  (4)

以一副图像的形式导入一个 PNG 文件:

图像摘要:

将动态 PNG 导入为动画:

将 RGB 图像导出为 PNG:

范围  (3)

将 Wolfram 语言表达式导出为 PNG:

将表达式列表导出为动态 PNG:

导入为动画:

Manipulate 导出为动态 PNG:

RasterizeManipulate 的截屏导出到 PNG 文件:

导入参数  (40)

可用参数  (4)

可用参数列表:

可用 Exif 参数数列表:

可用 IPTC 参数列表:

获取图像相关信息作为规则列表:

数据表示  (11)

"AnimatedImage"  (1)

将多帧 PNG 文件导入为 AnimatedImage:

"Animation"  (1)

"ColorMap"  (1)

用色彩还原色板生成 PNG 图像:

从生成图像获取色彩还原色板:

可视化色彩还原色板:

将色图应用于原始数据来创建存储图像:

"Data"  (1)

获取图像信息:

使用图像数据创建图像:

"Graphics"  (1)

导入为 Graphics 对象:

"GraphicsList"  (1)

获取图像对象列表:

"Image"  (1)

导入为 Image 对象:

默认参数也是 "Image"

"ImageList"  (1)

获取数据作为 Image 对象列表:

"RawData"  (1)

从动态 PNG 的首帧获取原始数据:

绘制原始数据的数组:

使用色图创建存储图像:

"Thumbnail"  (1)

导入图像的缩略图:

ThumbnailList"  (1)

从动态 PNG 文件导入缩略图列表:

元数据  (25)

"BitDepth"  (1)

获取表示每个色彩通道的位数计算:

"BlendOperation"  (1)

获取混合操作:

"CameraTopOrientation"  (1)

获取拍摄时的相机方向:

"Channels"  (1)

获取使用的颜色通道数:

"ColorProfileData"  (1)

获取嵌入的颜色配置,以 ColorProfileData 对象给出:

颜色配置存储于导入图像的 ColorSpace 选项:

"ColorSpace"  (1)

获取导出时使用的颜色编码:

使用 ImageColorSpace 获取导入图像的颜色空间:

"DateTime"  (1)

获取图像拍摄的日期和时间:

"DisposalOperation"  (1)

获取处理操作:

"Exif"  (3)

导入 Exif 元数据:

从关联中导出单独标签:

单独 Exif 标签也可以被直接导入:

部分 Exif 标签已处理,从而给出更多详细信息:

"FlashInfo" 标签进行对比:

"FlashUsed"  (1)

导入显示是否使用闪关灯的标签:

"FlashUsed""FlashInfo" 参数的子参数:

从完整 "Exif" 提取 "FlashUsed"

"GeoPosition"  (2)

获取图像地理位置:

图像可能没有地理位置

"GPSDateTime"  (1)

获取 GPS 记录的图像创建日期和时间:

"ImageCount"  (1)

获取动态 PNG 文件中存储的帧数:

"IPTC"  (1)

获取 IPTC 元数据:

获取 IPTC 元数据的 Application2 模式 :

"MetaInformation"  (1)

获取全部元数据:

"RasterSize"  (1)

获取文件中存储图像的尺寸:

ImageDimensions 可获得导入图像的相同结果:

"RawExif"  (1)

使用 "RawExif" 参数导入未处理的 Exif 元数据:

"RawExif" 返回文件中的原始值:

与诠释的焦距进行比较:

"RawIPTC"  (1)

导入未处理的 IPTC 元数据:

"RawXMP"  (1)

导入未处理的 XMP 元数据:

"Summary"  (1)

获取图像摘要:

"SummarySlideView"  (1)

获取图像帧数摘要:

"XMP"  (1)

获取 XMP 元数据:

导入选项  (6)

ImageResolution  (1)

在默认情况下,从文件提取图像解析度:

指定导入图像的解析度:

方向指定不同的解析度:

IncludeMetaInformation  (3)

导入无元数据的图像:

导入仅有 "XMP" 元数据的图像:

RasterSize  (1)

默认情况下,图像以全分辨率导入:

指定导入 PNG 图像的光栅大小:

"TakeRows"  (1)

默认情况下,导入所有行:

仅导入指定行:

导出选项  (11)

AnimationRepetitions  (1)

指定动画在停止前的播放次数:

"ColorMapLength"  (1)

通过指定更小的颜色表长度来减小文件大小:

"ControlAppearance"  (1)

指定 Manipulate 中的控制菜单是否导出:

导出中无控制菜单:

导出中有图像控制:

CompressionLevel  (1)

使用更高压缩等级来减小文件大小:

更高压缩等级需要更多时间生成 PNG 文件:

"DisplayDurations"  (1)

对于动画的每个帧指定播放长度(按秒):

Dithering  (1)

显示递色效果:

显示明显不同的区域:

"ImageTopOrientation"  (1)

在默认情况下,通过 "ImageTopOrientation"->Top 导入垂直图像:

指定方向:

用原始反响导入:

IncludeMetaInformation  (1)

默认情况下,导出所有存在的元信息:

指定导出元数据类型:

"QuantizationMethod"  (1)

显示不同量化方法的效果:

显示有显著差异的区域:

RasterSize  (1)

默认情况下,以全分辨率导出图像:

指定导出图像的光栅大小:

"RemoveDuplicatedFrames"  (1)

创建有重复帧的动画:

提取全部帧:

将所有重复帧导出为动态 PNG:

删除重复帧时导出并注意文件大小的减小: