Next: , Previous: , Up: イメージ   [Contents][Index]


41.17.9 イメージの表示

自分でdisplayプロパティをセットアップしてイメージディスクリプタを使用できますが、このセクションの関数を使用するほうがより簡単です。

Function: insert-image image &optional string area slice inhibit-isearch

この関数はカレントバッファーのポイント位置にimageを挿入する。imageはイメージディスクリプタであること。これはcreate-imageによりリターンされた値、またはdefimageで定義されたシンボルの値を使用できる。引数stringはイメージを保持するためにバッファー内に配置するテキストを指定する。これが省略かnilなら、insert-imageはデフォルトで" "を使用する。

引数areaはマージン内にイメージを置くかどうかを指定する。これがleft-marginなら左マージンにイメージが表示され、right-marginなら右マージンを指定する。areanilか省略なら、イメージはバッファーのテキスト内のポイント位置に表示される。

引数sliceは挿入するイメージのスライスを指定する。slicenilか省略された場に合はイメージ全体が挿入される(ただしイメージの折り返しはサポートされていないのでイメージはウィンドウ右端で切り詰められることに注意)。それ以外では、sliceがリスト(x y width height)ならxyは位置、widthheightは挿入するイメージの領域を指定する。整数値はピクセル単位。0.0から1.0までの浮動小数点数はイメージ全体の幅や高さにたいする割合を指定する。

この関数は内部的にはバッファー内にstringを挿入して、imageを指定するdisplayプロパティを渡す。displayプロパティを参照のこと。デフォルトではそのバッファーでのインタラクティブな検索ではstringを考慮して検索が行われる。この挙動はinhibit-isearchg非nilなら抑制される。

Function: insert-sliced-image image &optional string area rows cols

この関数はinsert-imageと同様にカレントバッファー内にimageを挿入するが、イメージをrowscolsの同一サイズのスライスに分割する点が異なる。

Emacsは各スライスを個別のイメージとして表示して、(巨大な)イメージを表示するバッファーのページングの際にイメージ全体を上下にジャンプするのではなく、より直感的な上下スクロールが可能になる。

Function: put-image image pos &optional string area

この関数はカレントバッファー内のposの前にイメージimageを配置する。引数posは整数かマーカーであること。これはイメージが表示されるべきバッファー位置を指定する。引数string (デフォルトは‘x’)は、代替となるイメージを保持するテキストであること。

引数imageはイメージディスクリプタでなければならず、それはcreate-imageがリターンされたか、あるいはdefimageにより格納されたイメージディスクリプタかもしれない。

引数areaはマージン内にイメージを置くかどうかを指定する。これがleft-marginなら左マージンにイメージが表示され、right-marginなら右マージンを指定する。areanilか省略なら、イメージはバッファーのテキスト内のポイント位置に表示される。

内部的には、この関数はオーバーレイを作成して、値がそのイメージであるようなdisplayプロパティをもつテキストを含む、before-stringプロパティをそのオーバーレイに与えている(ふう! やっと説明できました…)。

Function: remove-images start end &optional buffer

この関数はbufferの位置startendの間のイメージを削除する。bufferが省略かnilならカレントバッファーからイメージを削除する。

これはput-imageが行う方法でbufferに配置されたイメージだけを削除して、insert-imageや他の方法で挿入されたイメージは削除しない。

Function: image-size spec &optional pixels frame

この関数はペアー(width . height)としてイメージのサイズをリターンする。specはイメージspec。pixelsが非nilならピクセル単位、それ以外ならframeのデフォルトの文字サイズ単位で量ったサイズをリターンする(フレームのフォントを参照)。frameはイメージが表示されるフレーム。framenilまたは省略された場合には選択されたフレームを使用する(入力のフォーカスを参照)。

Variable: max-image-size

この変数はEmacsがロードするイメージの最大サイズを定義するために使用される。Emacsはこの制限より大きいイメージのロード(と表示)を拒絶するだろう。

値が整数ならピクセル単位で量ったイメージの最大の高さと幅を直接指定する。浮動小数点数ならフレームの高さと幅にたいする比率として、イメージの最大の高さと幅を指定する。値が数値でなければイメージサイズにたいする明示的な制限は存在しない。

この変数の目的は意図せずEmacsに不当に大きなイメージがロードされるとを防ぐことである。これはイメージの初回ロード時だけ効果がある。イメージが一度イメージキャッシュに置かれると、その後にmax-image-sizeの値が変更されても、そのイメージは常に表示可能である(イメージキャッシュを参照)。

Function: image-at-point-p

この関数はポイントがイメージ上にあればt、それ以外はnilをリターンする。

上記の挿入関数で挿入されたイメージは、表示されたイメージを横断するテキスト(またはオーバーレイ)のプロパティ内にインストールされたローカルキーマップも取得します。このキーマップは以下のコマンドを定義します。

i +

イメージのサイズを拡大する(image-increase-size)。

i -

イメージのサイズを縮小する(image-decrease-size)。

i r

イメージを回転させる(image-rotate)。

i h

水平方向にイメージを反転させる(image-flip-horizontally)。

i v

垂直方向にイメージを反転させる(image-flip-vertically)。

i o

イメージをファイルに保存する(image-save)。

i c

インタラクティブにイメージをクロップする(image-crop)。

i x

インタラクティブにイメージから矩形を切り取る(image-cut)。

これらのイメージ固有なキーバインディングについての詳細は、Image Mode in The GNU Emacs Manualを参照してください。