Next: , Previous: , Up: Images   [Contents][Index]


37.17.10 マルチフレームのイメージ

複数のイメージを含むことができるイメージファイルがいくつかあります。わたしたちはこのような場合には、イメージ内に複数の“フレーム”があると表現しています。現在のところEmacsはGIF、TIFF、およびDJVMのような特定のImageMagickフォーマットにたいする複数フレームをサポートします。

フレームは複数のページを表現するため(通常はたとえばマルチフレームTIFFのケースが該当)、あるいはアニメーションを作成するため(通常はマルチフレームGIFファイルのケースが該当)に使用できます。

マルチフレームイメージは、表示されるフレームを指定する整数値(0から数える)が値であるようなプロパティ:indexをもっています。

Function: image-multi-frame-p image

この関数はimageが2つ以上のフレームを含めば非nilをリターンする。実際のリターン値はコンス(nimages . delay)でありnimagesはフレーム数、delayはフレーム間の遅延秒数、イメージが遅延を指定しなければnil。通常はアニメーションを意図されたイメージはフレームの遅延を指定して、複数ページとして扱われることを意図したイメージは指定しない。

Function: image-current-frame image

この関数はimageにたいして0から数えたカレントフレーム番号のインデックスをリターンする。

Function: image-show-frame image n &optional nocheck

この関数はimageをフレーム番号nとスイッチする。nochecknilなら有効範囲外のフレーム番号を範囲終端に置き換える。imageが指定された番号のフレームを含まなければイメージは中抜きの四角(hollow box)で表示される。

Function: image-animate image &optional index limit

この関数はimageをアニメーション表示する。オプションの整数indexは開始するフレームを指定する(デフォルトは0)。オプション引数limitはアニメーションの長さを制御する。これが省略かnilならアニメーション回数は1回、tなら永久にループ表示する。数値ならその秒数後にアニメーションは停止する。

アニメーションはタイマーにより処理されます。Emacsは最小のフレーム遅延を0.01秒( image-minimum-frame-delayの値)とすることに注意してください。そのイメージ自身が遅延を指定しなければEmacsはimage-default-frame-delayを使用します。

Function: image-animate-timer image

この関数はもし存在すればimageのアニメーションに責任をもつタイマーをリターンする。