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


40.17.3 XBMイメージ

XBMフォーマットを使用するにはイメージタイプとしてxbmを指定します。このイメージフォーマットは外部ライブラリーを要求せず、このタイプのイメージは常にサポートされます。

xbmイメージタイプにたいして追加のイメージプロパティがサポートされます:

:foreground foreground

foregroundはそのイメージのフォアグラウンドカラーを指定する文字列、またはデフォルトカラーを指定するnilであること。このカラーはXBM内の1の各ピクセルに使用される。デフォルトはフレームのフォアグラウンドカラー。

:background background

backgroundはそのイメージのバックグラウンドカラーを指定する文字列、またはデフォルトカラーを指定するnilであること。このカラーはXBM内の0の各ピクセルに使用される。デフォルトはフレームのバックグラウンドカラー。

外部ファイルのかわりにEmacs内のデータを指定してXBMイメージを指定するには以下の3つのプロパティを使用する:

:data data

dataはイメージのコンテンツを指定する。dataとして使用できる3つのフォーマットが存在する:

  • それぞれがイメージの1ラインを指定するような文字列ベクターかboolベクター。:height:widthを指定する。
  • XBMファイルに含まれるのと同じバイトシーケンスを含む文字列。この場合には:height:widthを指定するべきではない。なぜならこれらを省略することによってデータはXBMファイル形式をもつことが示されるから。イメージの高さと幅は、そのファイルのコンテンツによって指定される。
  • イメージのビットを含む文字列かboolベクター(終端の使用されない余分なビットを含むかもしれない)。少なくともstride * heightビットを含むこと(strideはイメージ幅以上の8の最小倍数)。この場合にはその文字列がXBMファイル全体ではなく、単にビットだけを含むことを示すとともに、そのイメージのサイズを指定するために:height:width:strideを指定する必要がある。
:width width

widthの値はイメージの幅をピクセル単位で指定する。

:height height

heightの値はイメージの高さをピクセル単位で指定する。

:width:heightは渡されたデータが幅と高さを指定しない場合のみ使用されることに注意(たとえばイメージのビットを含んだ文字列やベクター)。XBMファイルは通常はこれらを自身で指定するので、これら2つのプロパティを使用するとエラーになる。他のほとんどのイメージフォーマットでは、イメージをどのように表示するかの指定に:width:heightが使用されるので、通常は何らかのスケーリングが行われることを意味することにも注意されたい。XBMイメージではスケーリングはサポートされていない。

:stride stride

各行に格納さたブールベクターのエントリー数(width以上の8の最小倍数)。