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ラスタ画像形式.
- Web上のグラフィックスや写真画像によく使われる.
- PNGはPortable Network Graphicsの頭字語である.
- バイナリ形式.
- 静止画とアニメーション画像の両方を保存する.
- 各チャンネルについて8ビットか16ビットの解像度でカラービットマップを保持する.
- グレースケール画像は各ピクセルについて1,2,4,8,16ビットのいずれかの色の濃さで表示される.
- 8ビットと16ビットのRGBとグレースケール画像についてはアルファチャンネルをサポートする.
- 2,4,16,または256色の8ビットRGBカラーを使う減色パレットをサポートする.
- 1995年にGIF形式に換わる公開された特許を必要としない形式として開発された.
- 国際標準のISO/IEC 15948:2003とISO/IEC 15948:2004として発表された.
ImportとExport
- Import["file.png"]はPNGファイルをインポートし,画像を返す.
- 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" AnimatedImageオブジェクトで表されるアニメーションPNG "Animation" アニメーションオブジェクトで表されたアニメーションPNG "Data" 画素値の配列 "Graphics" Graphicsオブジェクトで与えられる,PNGファイルの最初のフレーム "GraphicsList" Graphicsオブジェクトのリストで表される,アニメーションPNGのフレーム "Image" Imageオブジェクトとして与えられる,PNGファイルの最初のフレーム "ImageList" Imageオブジェクトのリストで表される,アニメーションPNGのフレーム "RawData" カラーマップ指標の配列 {"ThumbnailList",frames} サムネイルのリスト(デフォルトでは frames=All) - Importはデフォルトで静的PNGファイルには"Image"要素を,アニメーションPNGには"ImageList"要素を使用する.
- 要素"Image"でアニメーションPNGをImportすると,アニメーションの最初のフレームが得られる.
- Exportはデフォルトでは,与えられた式が画像のリストかManipulateである場合はアニメーション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色のカラーパレットをサポートする.色は常に各色チャンネルにつき8bitの解像度で保存される.
- "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 アニメーションのエキスポート時にはコントロール要素は除外する - アニメーションPNGの各フレームの表示時間は"DisplayDurations"->{d1,d2,…}で指定する.
例題
すべて開くすべて閉じるスコープ (3)
ManipulateをアニメーションPNGとしてエキスポートする:
Rasterizeを使ってManipulate のスクリーンショットをPNGファイルにエキスポートする:
Import要素 (40)
データ表現 (11)
"AnimatedImage" (1)
マルチフレームPNGをAnimatedImageとしてインポートする:
"ColorMap" (1)
"Graphics" (1)
Graphicsオブジェクトとしてインポートする:
"Image" (1)
"ImageList" (1)
データをImageオブジェクトのリストとして取得する: