自分でdisplay
プロパティをセットアップしてイメージディスクリプタを使用できますが、このセクションの関数を使用するほうがより簡単です。
この関数はカレントバッファーのポイント位置にimageを挿入する。imageはイメージディスクリプタであること。これはcreate-image
によりリターンされた値、またはdefimage
で定義されたシンボルの値を使用できる。引数stringはイメージを保持するためにバッファー内に配置するテキストを指定する。これが省略かnil
なら、insert-image
はデフォルトで"
"
を使用する。
引数areaはマージン内にイメージを置くかどうかを指定する。これがleft-margin
なら左マージンにイメージが表示され、right-margin
なら右マージンを指定する。areaがnil
か省略なら、イメージはバッファーのテキスト内のポイント位置に表示される。
引数sliceは挿入するイメージのスライスを指定する。sliceがnil
か省略された場に合はイメージ全体が挿入される(ただしイメージの折り返しはサポートされていないのでイメージはウィンドウ右端で切り詰められることに注意)。それ以外では、sliceがリスト(x
y width
height)
ならxとyは位置、widthとheightは挿入するイメージの領域を指定する。整数値はピクセル単位。0.0から1.0までの浮動小数点数はイメージ全体の幅や高さにたいする割合を指定する。
この関数は内部的にはバッファー内にstringを挿入して、imageを指定するdisplay
プロパティを渡す。display
プロパティを参照のこと。デフォルトではそのバッファーでのインタラクティブな検索ではstringを考慮して検索が行われる。この挙動はinhibit-isearchg非nil
なら抑制される。
この関数はinsert-image
と同様にカレントバッファー内にimageを挿入するが、イメージをrows✕colsの同一サイズのスライスに分割する点が異なる。
Emacsは各スライスを個別のイメージとして表示して、(巨大な)イメージを表示するバッファーのページングの際にイメージ全体を上下にジャンプするのではなく、より直感的な上下スクロールが可能になる。
この関数はカレントバッファー内のposの前にイメージimageを配置する。引数posは整数かマーカーであること。これはイメージが表示されるべきバッファー位置を指定する。引数string (デフォルトは‘x’)は、代替となるイメージを保持するテキストであること。
引数imageはイメージディスクリプタでなければならず、それはcreate-image
がリターンされたか、あるいはdefimage
により格納されたイメージディスクリプタかもしれない。
引数areaはマージン内にイメージを置くかどうかを指定する。これがleft-margin
なら左マージンにイメージが表示され、right-margin
なら右マージンを指定する。areaがnil
か省略なら、イメージはバッファーのテキスト内のポイント位置に表示される。
内部的には、この関数はオーバーレイを作成して、値がそのイメージであるようなdisplay
プロパティをもつテキストを含む、before-string
プロパティをそのオーバーレイに与えている(ふう!
やっと説明が終わった…)。成功した場合には作成したオーバーレイをリターンするとともに、put-image
プロパティにt
をセットする。
この関数はbufferの位置startとendの間のイメージを削除する。bufferが省略かnil
ならカレントバッファーからイメージを削除する。
これはput-image
が行う方法でbufferに配置されたイメージだけを削除して、insert-image
や他の方法で挿入されたイメージは削除しない。
この関数はペアー(width . height)
としてイメージのサイズをリターンする。specはイメージspec。pixelsが非nil
ならピクセル単位、それ以外ならframeのデフォルトの文字サイズ単位で量ったサイズをリターンする(フレームのフォントを参照)。frameはイメージが表示されるフレーム。frameがnil
または省略された場合には選択されたフレームを使用する(入力のフォーカスを参照)。
この変数はEmacsがロードするイメージの最大サイズを定義するために使用される。Emacsはこの制限より大きいイメージのロード(と表示)を拒絶するだろう。
値が整数ならピクセル単位で量ったイメージの最大の高さと幅を直接指定する。浮動小数点数ならフレームの高さと幅にたいする比率として、イメージの最大の高さと幅を指定する。値が数値でなければイメージサイズにたいする明示的な制限は存在しない。
この変数の目的は意図せずEmacsに不当に大きなイメージがロードされるとを防ぐことである。これはイメージの初回ロード時だけ効果がある。イメージが一度イメージキャッシュに置かれると、その後にmax-image-size
の値が変更されても、そのイメージは常に表示可能である(イメージキャッシュを参照)。
この関数はポイントがイメージ上にあればt
、それ以外はnil
をリターンする。
上記の挿入関数で挿入されたイメージは、表示されたイメージを横断するテキスト(またはオーバーレイ)のプロパティ内にインストールされたローカルキーマップも取得します。このキーマップは以下のコマンドを定義します。
イメージのサイズを拡大する(image-increase-size
)。
イメージのサイズを縮小する(image-decrease-size
)。
イメージを回転させる(image-rotate
)。
水平方向にイメージを反転させる(image-flip-horizontally
)。
垂直方向にイメージを反転させる(image-flip-vertically
)。
イメージをファイルに保存する(image-save
)。
インタラクティブにイメージをクロップする(image-crop
)。
インタラクティブにイメージから矩形を切り取る(image-cut
)。
これらのイメージ固有なキーバインディングについての詳細は、Image Mode in The GNU Emacs Manualを参照してください。