Scroll to navigation

BITMAP(1) General Commands Manual BITMAP(1)

名前

bitmap, bmtoa, atobm - ビットマップのエディタとコンバータ

書式

bitmap [ -options ... ] [ filename ] [ basename ]
 
bmtoa [ -chars ... ] [ filename ]
 
atobm [ -chars cc ] [ -name variable ] [ -xhot number ] [ -yhot number ] [ filename ]

説明

bitmap プログラムは、1と0からなる長方形のイメージの作成や編集の ための原始的なツールである。X 環境において、bitmap はクリッピング領域 やカーソル形状、アイコン形状、タイルパターンやスティプルパターンの定義 に用いられる。
bmtoaatobm フィルタはビットマップファイル(「ファ イルフォーマット」セクションを参照)と ASCII 文字列の相互変換を行う。こ れらが最もよく使われるのは、ビットマップを印刷するときと、テキストに取 り込むときである。

オプション

bitmap には、X ツールキットの標準コマンド行引き数( X(1) を参照)に加えて、以下の引き数をサポートしている。
-size WIDTHxHEIGHT
四角形内部のグリッドのサイズを指定する。
-sw dimension
四角形の幅をピクセル数で指定する。
-sh dimension
四角形の高さをピクセル数で指定する。
-gt dimension
グリッドの許容誤差を指定する。四角形のディメンジョンが指定された値より 小さい場合には、グリッド表示は自動的に無効にされる。
-grid, +grid
グリッドの線を有効または無効にする。
-axes, +axes
主軸を有効または無効にする。
-dashed, +dashed
枠とグリッドの線の点線表示を有効または無効にする。
-stippled, +stippled
ハイライト領域のスティプル表示を有効または無効にする。
-proportional, +proportional
プロポーショナルモードを有効または無効にする。プロポーショナルモードが 有効ならば、四角形の幅は高さと等しくなる。プロポーショナルモードが無効 ならば、四角形の幅は高さが初期状態で異なっていると bitmap は四 角形の小さい方のディメンジョンを用いる。
-dashes filename
点線のためのスティプルとして使うビットマップを指定する。
-stipple filename
ハイライトのためのスティプルとして使うビットマップを指定する。
-hl color
ハイライトに使う色を指定する。
-fr color
枠とグリッドの線に使う色を指定する。
filename
最初にプログラムがロードするビットマップを指定する。 指定されたファイルが存在しない場合、 bitmap はこれを新しいファイ ルと解釈する。
basename
C 言語のコードとして出力するファイルで使うベース名を指定する。 これが作業ファイルのベース名と異なる場合、 bitmap はファイルをセー ブするときに作業ファイルのベース名を変更する。
bmtoa には以下のオプションを指定できる:
-chars cc
このオプションは、文字列形式のビットマップで使う文字のペアを指定する。 最初の文字はビット0を示し、次の文字がビット1を示す。デフォルトでは0に 対してはダッシュ(-)が使われ、1に対してはシャープ記号(#)が使われる。
atobm には以下のオプションを指定できる:
-chars cc
このオプションは、文字列形式のビットマップを数値の配列に変換するときに 使う文字のペアを指定する。最初の文字はビット0を示し、次の文字がビット1 を示す。デフォルトでは0に対してはダッシュ(-)が使われ、1に対してはシャー プ記号(#)が使われる。
-name variable
このオプションは、ビットマップファイルを書き出すときに使う変数名を指定 する。デフォルトではコマンド行引き数 filename のベース名が使 われるが、読み込みを標準入力から行った場合には空文字列のままである。
-xhot number
このオプションはホットスポットの X 座標を指定する。正の値しか指定する ことができない。デフォルトでは、ホットスポット情報は含まれない。
-yhot number
このオプションはホットスポットの Y 座標を指定する。正の値しか指定する ことができない。デフォルトでは、ホットスポット情報は含まれない。

使用方法

bitmap はグリッドを表示する。グリッドの1マスは、編集中の絵のビッ ト1つを表す。ビットマップイメージの実際のサイズは Meta-I を押す と得られる。この際には通常のイメージと反転イメージが表示される。このイ メージポップアップは編集の邪魔にならないように自由に動かすことができる。 左マウスボタンを押すか、もう一度 Meta-I キーを押すと、実サイズの ビットマップイメージ表示を消すことができる。
bitmap を使ってカーソル定義を行う場合、イメージ中の格子の1つをホットス ポットとして指定することができる。ホットスポットはカーソルが実際に指す 点を決める。尖った部分を持つカーソル(矢印や指マークなど)においては、普 通は先端部分をホットスポットにする。対称な形を持つカーソル(十字や的な ど)においては、普通は中心をホットスポットにする。
ビットマップはアプリケーションに取り込めるように、C 言語の短いソースコー ドの形で保存される。 このデータは、ビット列と幅や高さ、(指定されていれば)ホットスポットを与 えるシンボリックな定数を持ち、カーソル、アイコン、タイルの生成に使うこ とができる。

編集

ビットマップイメージを編集するには、マウスのボタン(任意)を描画コマンド ( Point, Curve, Line, Rectangle, 等)をクリックしてからポインタを ビットマップグリッドウィンドウに移動させる。ここでマウスのボタンを押す と、適切なアクションが行われる。これにより、グリッドの四角形のセット、 クリアや反転を行うことができる。グリッドの四角形をセットすることは、ビッ トマップイメージのビットに1をセットすることである。グリッドの四角形を クリアすることは、ビットマップイメージのビットに0をセットすることであ る。グリッドの四角形を反転させることは、ビットマップのイメージを前の値 に基づいて1から0、または0から1に変えることである。マウスのボタンのデフォ ルトの動作は以下のように指定されている:
 
		MouseButton1		Set
		MouseButton2		Invert
		MouseButton3		Clear
		MouseButton4		Clear
		MouseButton5		Clear
 
このデフォルトの動作は、ボタン機能リソースの設定によって変更することが できる。例を以下に示す:
 
		bitmap*button1Function: Set
		bitmap*button2Function: Clear
		bitmap*button3Function: Invert
		等
 
ボタン機能は、コピー、移動、貼り付け、塗りつぶし、ホットスポットの設定 などの全ての描画コマンドに適用される。

描画コマンド

アプリケーションの左側のボタンを使って呼び出すことができる描画コマンド のリストを示す。コマンドによってはビットマップウィンドウ内で A キーを 押すことによって中断することができ、これによってユーザは指定可能な別の ガイド点を選択することができる。
Clear
このコマンドはビットマップイメージの全てのビットをクリアする。グリッド の四角形は全て背景色にセットされる。ビットマップウィンドウ内で C キー を押すことで同じ効果が得られる。
Set
このコマンドはビットマップイメージの全てのビットをセットする。グリッド の四角形は全て前景色にセットされる。ビットマップウィンドウ内で S キー を押すことで同じ効果が得られる。
Invert
このコマンドはビットマップイメージの全てのビットを反転させる。グリッド の四角形の内容は適切に反転される。ビットマップウィンドウ内で I キーを 押すことで同じ効果が得られる。
Mark
このコマンドを使うと、ハイライト色の長方形のドラッグにより、グリッドの 領域をマークすることができる。一度領域をマークすると、この領域は各種コ マンドによって操作できる( Up, Down, Left, Right, Rotate, Flip, Cut 等を参照)。マークされた 領域は複数個同時に存在することはできない。他の領域をマークしようとする と、前のマークは消える。グリッドウィンドウで Shift-MouseButton1 を押して長方形領域をドラッグすることにより同じ効果が得られる。 Shift-MouseButton2 を押すと、グリッド領域全体がマークされる。
Unmark
このコマンドは領域のマークを取り消す。Shift-MouseButton3 を押す ことにより、同じ効果が得られる。
Copy
このコマンドは、グリッド領域内でコピーを行う場合に使う。マークされたグ リッド領域が表示されていなければ、 Copy は単に前述の Mark と同じ動作をする。マークされたグリッド領域がハイライト色で表示されてい れば、このコマンドはユーザの操作に基づいて以下の2つの動作のどちらかを 行うマークされた領域内でボタンをクリックした場合には、マークされた領域 を表す長方形を任意の場所へドラッグして動かすことができる。マウスのボタ ンを離すと、その領域がコピーされる。マークされた領域の外でボタンを押し た場合には、 Copy はユーザがビットマップの別の領域をマークしよう としていると解釈し、再び Mark の動作を行う。
Move
このコマンドはグリッド領域を移動させるために使う。この動作は Copy コマンドとよく似ているが、マークされた領域はコピーされずに 移動する点が異なる。
Flip Horizontally
このコマンドは、ビットマップイメージを水平軸に関して対称移動する。 グリッドのマークされた領域がハイライトしている場合、この操作はマークさ れた領域の内部でのみ行われる。ビットマップウィンドウ内で H キーを押す と、同じ効果が得られる。
Up
このコマンドはビットマップイメージを1ピクセル上に移動させる。 グリッドのマークされた領域がハイライトしている場合、この操作はマークさ れた領域の内部でのみ行われる。ビットマップウィンドウ内で UpArrow キー を押すと、同じ効果が得られる。
Flip Vertically
このコマンドは、ビットマップイメージを垂直軸に関して対称移動する。 グリッドのマークされた領域がハイライトしている場合、この操作はマークさ れた領域の内部でのみ行われる。ビットマップウィンドウ内で V キーを押す と、同じ効果が得られる。
Left
このコマンドはビットマップイメージを1ピクセル左に移動させる。 グリッドのマークされた領域がハイライトしている場合、この操作はマークさ れた領域の内部でのみ行われる。ビットマップウィンドウ内で LeftArrow キー を押すと、同じ効果が得られる。
Fold
このコマンドはビットマップイメージの反対の隅が隣接するような折り返しを 指定する。これはタイリングに使うビットマップを作るときに便利である。 ビットマップウィンドウ内で F キーを押すことによって、同じ効果が得られ る。
Right
このコマンドはビットマップイメージを1ピクセル右に移動させる。 グリッドのマークされた領域がハイライトしている場合、この操作はマークさ れた領域の内部でのみ行われる。ビットマップウィンドウ内で RightArrow キー を押すと、同じ効果が得られる。
Rotate Left
このコマンドはビットマップイメージを90度左(反時計周り)に回転させる。 グリッドのマークされた領域がハイライトしている場合、この操作はマークさ れた領域の内部でのみ行われる。ビットマップウィンドウ内で L キーを押す と、同じ効果が得られる。
Down
このコマンドはビットマップイメージを1ピクセル下に移動させる。 グリッドのマークされた領域がハイライトしている場合、この操作はマークさ れた領域の内部でのみ行われる。ビットマップウィンドウ内で DownArrow キー を押すと、同じ効果が得られる。
Rotate Right
このコマンドはビットマップイメージを90度右(時計周り)に回転させる。 グリッドのマークされた領域がハイライトしている場合、この操作はマークさ れた領域の内部でのみ行われる。ビットマップウィンドウ内で R キーを押す と、同じ効果が得られる。
Point
このコマンドは、マウスのボタンが押されるとポインタが指しているグリッド の四角形の状態が変わるようにする。マウスのボタンを連続してドラッグして も、線は連続にならないかもしれない。これはシステムの速さとマウス移動 イベントの頻度によって決まる。
Curve
このコマンドは、マウスのボタンが押されるとポインタが指しているグリッド のマスの状態が変わるようにする。マウスのボタンを連続してドラッグすると、 必ず連続な線が描かれる。ただし、システムが遅い場合や、 bitmap が 拾えるマウス移動イベントが少なすぎる場合には、おかしな線になってしまう かもしれない。
Line
このコマンドはグリッドの2つの格子の間に線を引く。 グリッドウィンドウ内で一度マウスボタンを押すと、 bitmap はこの点 とマウスのポインタの位置を結ぶ線をハイライト表示する。マウスのボタンを 離すと実際の線が描かれて、ハイライト表示の線は消える。
Rectangle
このコマンドは2つの格子を使って長方形を描く。 グリッドウィンドウ内で一度マウスボタンを押すと、 bitmap はこの点 とマウスのポインタの位置を結ぶ線が対角線となるような長方形をハイライト 表示する。マウスのボタンを離すと実際の長方形が描かれて、ハイライト表示 の長方形は消える。
Filled Rectangle
このコマンドは Rectangle とほぼ同じであるが、外枠だけでなく長方形 全体が塗りつぶされる点が異なる。
Circle
このコマンドは2つの格子を使って円を描く。 グリッドウィンドウ内で一度マウスボタンを押すと、 bitmap はこの点 とマウスのポインタの位置を結ぶ線が半径となるような円をハイライト表示す る。マウスのボタンを離すと実際の円が描かれて、ハイライト表示の円は消え る。
Filled Circle
このコマンドは Circle とほぼ同じであるが、外枠だけでなく円全体が 塗りつぶされる点が異なる。
Flood Fill
任意の格子をクリックした際に、これに接続している領域を全て塗りつぶす。 斜めに隣接している格子は連続しているとはみなされない。
Set Hot Spot
このコマンドは、ビットマップイメージをカーソルの定義に使う際に、グリッ ドの1つの格子をホットスポットとして指定する。ホットスポットにしたい格 子をマウスでクリックすると、菱形のマークが表示される。
Clear Hot Spot
このコマンドは、ビットマップイメージからホットスポットの指示を取り除く。
Undo
このコマンドは直前に実行したコマンドを取り消す。アンドゥの回数は1なの で、 Undo の後に Undo を行うとアンドゥそのものが取り消され る。

File メニュー

File メニューは File ボタンを押して適切なメニュー項目を選ぶか、コント ロールキーと別のキーを組み合わせて押すことによって操作できる。これらの コマンドはファイルとビットマップのグローバルなパラメータ(サイズやベー ス名、ファイル名等)を扱う。
New
このコマンドは、編集エリアをクリアし、編集する新しいファイル名を問い合 わせる。新しいファイルのロードは行わない。
Load
このコマンドは新しいビットマップファイルをビットマップエディタにロード する。 現在のイメージがセーブされていなければ、変更をセーブするか破棄するかの 確認が行われる。このエディタは同時に1つのファイルしか編集できない。編 集において複数イメージ間のやりとりが必要ならば、複数のエディタを立ち上 げて後述のカット・アンド・ペーストの機構を使うこと。
Insert
このコマンドはビットマップファイルを現在編集中のビットマップに挿入する。 ファイル名問い合わせの後、グリッドウィンドウ内部をクリックし、イメージ 外枠の長方形を新しいファイルを挿入したい位置までドラッグすること。
Save
このコマンドはビットマップイメージをセーブする。ファイル名が <none> で なければ、ユーザへの問い合わせは行われない。ファイル名を指定しない場合 とファイル名が - である場合は、出力は標準出力にパイプされる。
Save As
このコマンドは新しいファイル名を問い合わせた後にビットマップイメージを セーブする。このコマンドはファイル名を変更したいときに使われる。
Resize
このコマンドは編集領域のサイズを変更し、新しいピクセル数にする。サイズ は「幅x高さ」の形式で入力しなければならない。現在のイメージサイズより 小さいサイズを指定しなければ、編集しているイメージの情報が失われること はない。このエディタは巨大なファイルを編集するようには設計されていない。
Rescale
このコマンドは編集エリアを拡大または縮小を行い、新しい幅と高さにする。 サイズは「幅x高さ」の形式で入力しなければならない。 アンチエイリアシングは行われないし、小さいサイズに縮小した場合にはイメー ジ情報は失われる。ユーザ独自のよりよい拡大・縮小アルゴリズムを加えられ たい。
Filename
このコマンドはベース名の変更やファイルのセーブを行わずに、ファイル名の 変更を行う。ファイル名に - を指定すると、出力は標準出力にパイプされる。
Basename
指定されたファイル名から決めたベース名と異なるものが欲しい場合に、この コマンドを使ってベース名を変えることができる。
Quit
このコマンドは bitmap アプリケーションを終了させる。ファイルがセーブさ れていなければ、イメージをセーブするかどうかがユーザに問い合わせられる。 アプリケーション終了の際には、プロセスを kill するよりもこのコマンドを 使うほうが望ましい。

EDIT メニュー

Edit メニューコマンドは、Edit ボタンを押して適切なメニュー項目を選択す ることか、またはメタキーと他のキーを組み合わせて押すことによって呼び出 すことができる。これらのコマンドはグリッド、軸、ズーム、カット・アンド・ ペーストなどの編集機能を扱うものである。
Image
このコマンドは、実際のサイズの通常イメージと反転イメージを別のウィンド ウに表示する。このウィンドウを動かして編集を続けることができる。イメー ジウィンドウで左マウスボタンを押すと、スクリーンからイメージ表示を消す ことができる。
Grid
このコマンドは編集領域のグリッドを制御する。グリッドの間隔が gridTolerance リソースで指定された値(デフォルト値は8)より小さい場合は、 グリッドは自動的に使われなくなる。このコマンドを呼び出すことで、明示的 にグリッドを出すことができる。
Dashed
このコマンドはグリッド線の描画に対するスティプルを制御する。点線のリソー スで指定されたスティプルは、このコマンドを呼び出すことで有効または無効 にすることができる。
Axes
このコマンドは、編集中のイメージの主軸のハイライト表示を制御する。主軸 は対称なイメージを作るときの補助になるし、常に主軸がハイライトされてい れば編集の助けになる。
Stippled
このコマンドはビットマップイメージのハイライト領域のスティプルを制御す る。スティプルのリソースで指定されたスティプルは、このコマンドを呼び出 すことによって有効または無効にできる。
Proportional
このコマンドはプロポーショナルモードを制御する。プロポーショナルモード が有効ならば、ビットマップウィンドウの広さに関係なく全てのイメージの幅 と高さは強制的に等しくされる。
Zoom
このコマンドはズームのモードを指定する。既に表示されているマークされた 領域がある場合、bitmap は自動的にこれをズーム表示する。そうでない場合 には、ユーザはズームモードで編集する領域をハイライトさせなければならず、 その後で bitmap が自動的にズームモードに切り替わる。ユーザはズームモー ドでも編集コマンドやその他のユーティリティを使うことができる。ズームア ウトするときには、アンドゥコマンドを実行すると全てのズームセッションが 取り消される。
Cut
このコマンドはイメージのハイライト領域の内容をアプリケーション内部のカッ ト・アンド・ペーストバッファに取り込む。
Copy
このコマンドはイメージのハイライト領域の内容をアプリケーション内部のカッ ト・アンド・ペーストバッファにコピーする。
Paste
このコマンドは、ハイライト領域を持っている他のビットマップアプリケーショ ンがあるかどうか、また内部のカット・アンド・ペーストバッファにデータが ないかどうか調べ、これらのデータをイメージにコピーする。コピーされたイ メージを配置するには、編集ウィンドウをクリックし、イメージの外枠を配置 したい位置にドラッグし、それからボタンを離す。

カット・アンド・ペースト

bitmap はカット・アンド・ペーストの機構をサポートしている。これには内 部のカット・アンド・ペーストと X のセレクションを用いたグローバルなカッ ト・アンド・ペーストがある。内部のカット・アンド・ペーストは、描画コマ ンドのコピーや移動を実行したときや、Edit メニューからカット・アンド・ ペーストのコマンドを実行したときに用いられる。X のセレクションを用いた グローバルなカット・アンド・ペーストは、スクリーンのどこかにビットマッ プイメージのハイライト領域が表示されているときには必ず使われている。イ メージの一部を他のビットマップエディタからコピーするには、Mark コマン ドを用いるか、シフトキーを押しながら左マウスボタンでドラッグすることに より、コピーしたい領域をハイライトさせるだけでよい。選択された領域がハ イライトしたとき、PRIMARY セレクションを使っている他のアプリケーション (xterm 等)はこのセレクション値を破棄し、それに伴う情報はハイライト解除 される。ここで、Edit メニューから Paste コマンドを選ぶか、またはコント ロールキーを押しながらマウスのボタンを押して、イメージの選択された部分 を他の(あるいは同じ)bitmap アプリケーションにコピーする。ハイライトさ れた可視のイメージ領域がないときにこれを試みた場合には、bitmap は内部 のカット・アンド・ペーストバッファを最後の手段として使い、その時点で格 納している任意のデータを貼り付ける。

ウィジェット

以下に bitmap アプリケーションのウィジェット構造を示す。インデン トは階層構造を示す。ウィジェットクラスを最初に挙げ、これにウィジェット のインスタンス名を続ける。bitmap ウィジェットを除く全てのウィジェット は Athena ウィジェットセットの標準のウィジェットである。
 
	Bitmap bitmap
		TransientShell image
			Box box
				Label normalImage
				Label invertedImage
		TransientShell input
			Dialog dialog
				Command okay
				Command cancel
		TransientShell error
			Dialog dialog
				Command abort
				Command retry
		TransientShell qsave
			Dialog dialog
				Command yes
				Command no
				Command cancel
		Paned parent
			Form formy
				MenuButton fileButton
				SimpleMenu fileMenu
					SmeBSB  new
					SmeBSB  load
					SmeBSB  insert
					SmeBSB  save
					SmeBSB  saveAs
					SmeBSB  resize
					SmeBSB  rescale
					SmeBSB  filename
					SmeBSB  basename
					SmeLine line
					SmeBSB  quit
				MenuButton editButton
				SimpleMenu editMenu
					SmeBSB  image
					SmeBSB  grid
					SmeBSB  dashed
					SmeBSB  axes
					SmeBSB  stippled
					SmeBSB  proportional
					SmeBSB  zoom
					SmeLine line
					SmeBSB  cut
					SmeBSB  copy
					SmeBSB  paste
				Label status
			Pane pane
				Bitmap bitmap
				Form form
					Command clear
					Command set
					Command invert
					Toggle  mark
					Command unmark
					Toggle  copy
					Toggle  move
					Command flipHoriz
					Command up
					Command flipVert
					Command left
					Command fold
					Command right
					Command rotateLeft
					Command down
					Command rotateRight
					Toggle  point
					Toggle  curve
					Toggle  line
					Toggle  rectangle
					Toggle  filledRectangle
					Toggle  circle
					Toggle  filledCircle
					Toggle  floodFill
					Toggle  setHotSpot
					Command clearHotSpot
					Command undo

bitmap に色を付けたければ、以下の行を xrdb で読み込むファイルの #ifdef COLOR セクションに取り込むこと。
 
*customization: -color
 
 
これにより、bitmap は配色カスタマイズ用の app-default ファイル( <XRoot>/lib/X11/app-defaults/Bitmap-color)を取り込む。 ここで、<XRoot> は X11 のインストールツリーのルートを示す。

Bitmap ウィジェット

bitmap ウィジェットはラスタイメージを編集するための独立のウィジェット である。このウィジェットは大きなイメージを編集するようには設計されてい ない(ただし、たまたま編集できるかもしれない)。このウィジェットを他のア プリケーションに組み込み、標準の編集ツールとして使うことも自由にできる。 以下に bitmap ウィジェットのためのリソースを示す。
 
Bitmap Widget
Header file Bitmap.h Class bitmapWidgetClass Class Name Bitmap Superclass Bitmap
Simple ウィジェットのリソースに追加されるリソース以下で全てである。
名前 クラス タイプ デフォルト値
foreground Foreground Pixel XtDefaultForeground highlight Highlight Pixel XtDefaultForeground framing Framing Pixel XtDefaultForeground gridTolerance GridTolerance Dimension 8 size Size String 32x32 dashed Dashed Boolean True grid Grid Boolean True stippled Stippled Boolean True proportional Proportional Boolean True axes Axes Boolean False squareWidth SquareWidth Dimension 16 squareHeight SquareHeight Dimension 16 margin Margin Dimension 16 xHot XHot Position NotSet (-1) yHot YHot Position NotSet (-1) button1Function Button1Function DrawingFunction Set button2Function Button2Function DrawingFunction Invert button3Function Button3Function DrawingFunction Clear button4Function Button4Function DrawingFunction Invert button5Function Button5Function DrawingFunction Invert filename Filename String None ("") basename Basename String None ("")
 

著者

Davor Matic, MIT X Consortium
Release 6.5 X Version 11