GNU Emacs 32.0.50 (9008bf64c3) のマニュアルを PLaMo 翻訳で機械翻訳したものです。誤訳を含むことがあります。原文: https://www.gnu.org/software/emacs/manual/html_node/elisp/Multi_002dFrame-Images.html ・ emacs-doc.conao3.com

42.17.10 マルチフレーム画像

画像ファイルによっては、複数の画像が含まれている場合があります。このような画像を、複数の「フレーム」を持つと言います。現在、EmacsはGIF、TIFF、WebP、およびDJVMなどの特定のImageMagickフォーマットにおいて、複数フレームをサポートしています。

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

マルチフレーム画像にはプロパティ :index があり、その値は(0から始まる)整数で、どのフレームが表示されているかを指定します。

関数: image-multi-frame-p image

この関数は、image に複数のフレームが含まれている場合、nil 以外の値を返します。実際の戻り値はコンス (nimages . delay) であり、nimages はフレーム数、delay はフレーム間の遅延時間(秒)、または画像に遅延が指定されていない場合は nil となります。アニメーションを想定した画像では通常フレーム遅延が指定されますが、複数のページとして扱うことを想定した画像では指定されません。

関数: image-current-frame image

この関数は、image の現在のフレーム番号を 0 から数えて返します。

関数: image-show-frame image n &optional nocheck

この関数は、imageをフレーム番号nに切り替えます。nocheckがnilでない限り、有効範囲外のフレーム番号を範囲の末尾の番号に置き換えます。imageに指定された番号のフレームが含まれていない場合、画像は中抜きのボックスとして表示されます。

関数: 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を使用します。

関数: image-animate-timer image

この関数は、image のアニメーションを担当するタイマーが存在する場合、それを返します。