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-isearch が nil 以外の場合、この動作は抑制されます。
この関数は、insert-imageと同様に現在のバッファのポイントにimageを挿入しますが、画像を等サイズのrowsxcolsのスライスに分割します。
Emacsは各スライスを個別の画像として表示し、(大きな)画像を表示するバッファをページ送りする際に画像全体を上下にジャンプさせるのではなく、より直感的な上下スクロールを可能にしています。
この関数は、現在のバッファにおいて画像 image を pos の前に挿入します。引数 pos には整数またはマーカーを指定します。これにより、画像を表示させるバッファ上の位置を指定します。引数 string には、デフォルトの ‘x’ の代わりに、画像を保持するテキストを指定します。
引数 image は、create-image
によって返されたか、あるいは defimage によって格納された画像記述子である必要があります。
引数 area は、画像を余白に配置するかどうかを指定します。left-margin の場合は左余白に、right-margin の場合は右余白に画像が表示されます。area が nil
であるか、あるいは省略されている場合は、画像はバッファのテキスト内の指定位置に表示されます。
内部的には、この関数はオーバーレイを作成し、画像を値とするdisplayプロパティを持つテキストを含むbefore-stringプロパティをそれに付与します。(ふぅ!かなり回りくどい説明でしたね……)。処理が成功すると、作成したオーバーレイを返し、さらにそのput-imageプロパティをtに設定します。
この関数は、位置 start と end の間にある
buffer 内の画像を削除します。buffer
が省略されているか、または nil が指定されている場合は、現在のバッファから画像が削除されます。
これにより、put-image と同様に buffer
で配置された画像のみが削除され、insert-image
やその他の方法で挿入された画像は削除されません。
この関数は、画像のサイズをペア (width . height)
として返します。spec は画像の指定です。pixels が
non-nil の場合はピクセル単位で測定されたサイズを返し、それ以外の場合は frame のデフォルト文字サイズ(フレームフォント を参照)で測定されたサイズを返します。frame は画像が表示されるフレームです。frame、nil を指定するか、あるいは省略した場合は、選択されたフレームを使用します(入力フォーカス を参照)。
この変数は、Emacsが読み込む画像の最大サイズを指定するために使用されます。Emacsは、この制限を超える画像の読み込み(および表示)を拒否します。
値が整数の場合、ピクセル単位の画像の最大高さと幅を直接指定します。浮動小数点数の場合、フレームの高さと幅に対する比率として画像の最大高さと幅を指定します。値が数値でない場合、画像のサイズに明示的な制限はありません。
この変数の目的は、不当に大きな画像が誤って Emacs
に読み込まれるのを防ぐことです。この変数が効果を発揮するのは、画像が初めて読み込まれる時だけです。一度画像がイメージキャッシュに配置されると、その後
max-image-size の値が変更されたとしても、常に表示できます(イメージキャッシュを参照してください)。
この関数は、pointが画像上にある場合はtを、そうでない場合はnilを返します。
上記の挿入機能で挿入された画像にも、表示されている画像にまたがるテキストプロパティ(またはオーバーレイ)にローカルキーマップが設定されます。このキーマップでは、以下のコマンドが定義されています:
画像サイズを大きくする (image-increase-size)
画像サイズを小さくする (image-decrease-size)。
画像を回転させる (image-rotate)。
画像を水平方向に反転します (image-flip-horizontally)。
画像を垂直方向に反転します (image-flip-vertically)。
画像をファイルに保存する (image-save)。
画像をインタラクティブにクロップする (image-crop)。
画像から矩形をインタラクティブに切り抜きます (image-cut)。
これらの画像固有のキーバインドの詳細については、The GNU Emacs ManualのImage Modeを参照してください。