ギロチン コマンドのように画像を切り分け、 ひと揃いの断片画像を作成します。 また同時にこのフィルタは生成される画像ファイルを接ぎ合わせるHTMLの表組みコードをテキストファイルで生成します。 表組みのそれぞれの升目に画像の断片が入っている構造です。 あとはこのテキストファイルの内容をHTML文書に埋め込むことになります。
フィルタはHTMLページで感応する画像の作成を支援する単純で使い易いスクリプトです。 このフィルタは垂直と水平に置かれたガイドに沿って繰り返しますがこのフィルタは実にとても単純な支援ツールです。 書き出さ れるHTMLコードは精々次の例のようなものになります。
例16.1 単純な「画像分割」フィルタの出力例
<table cellpadding="0" border="0" cellspacing="0"> <tr> <td><img alt="" src="slice_0_0.png"/></td> <td><img alt="" src="slice_0_1.png"/></td> </tr> <tr> <td><img alt="" src="slice_1_0.png"/></td> <td><img alt="" src="slice_1_1.png"/></td> </tr> </table>
生成されるHTMLコード。 「style」属性は省かれている。
画像にガイド (見当線) がないときはフィルタは何も実行しません。 もちろんガイドが単に隠されているだけならフィルタは作動します。
ヒント | |
---|---|
感応画像を作成するツールには、 より強力かつ高度な イメージマップ フィルタもあります。 (でもこれは随分と複雑ですが。) |
ほとんどのオプションの意味は見てのとおりですが、 あえて説明します。
生成されたHTMLファイルと画像ファイルの保管場所です。 初期状態では現在の作業ディレクトリにこれらのファイルが保管されます。 記入欄の右端の三角形のボタンをクリックすると他のフォルダを辿れる引き出しメニューが出てきます。
生成されるHTMLコードを収めたファイルの名前です。 記入欄で他の名前も指定できます。
このフィルタが生成する画像のファイル名は
となります。 このうち共通部のところがこの文字記入欄で指定できるプレフィクス (先頭部分) です。 初期状態では「slice」となっています。 行と列にはそれぞれの番号が 0 を開始番号として振られます。 共通部
_行
_列
.拡張子
.
は エクスポートの画像形式 で指定したファイル拡張子が入ります。拡張子
このオプションはとくに 'onmouseover' と 'clicked' の Javascript を記述 オプションを有効にしており分割画像に他の組み合わせを必要としている場合に出番が多くあります。
画像を別フォルダにエクスポート させる場合は画像を収めるフォルダが無ければ作成されます。 この場合の既定の保管先フォルダの名前は images
ですが、 エクスポートするフォルダ名 の記入欄で他のフォルダ名が指定できます。
この数値はHTMLテーブルのセル同士の間隔を指定する「celllspacing」属性値になります。 値の範囲は 0 ピクセルから 15 ピクセルまでです。 ここに正の整数を設定すると縦や横のガイドはこの太さをした平行線で現れます。
ここで気をつけていただきたいことは、 この間隔を拡げても画像の規模は大きくならないことです。 むしろHTMLテーブルで揃えられた画像は消しゴムツールで縦横の線状に消されたように 見えることでしょう。
このオプションを有効にするとこのフィルタは Javascript コードを追加します。 HTMLの場合と同じく生成されたままの状態では何の効果もありませんが、 動的機能を追加してゆくには良好な手掛かりとなります。 この Javascript コードは「onmouseover」のようなイベントを扱う関数に利用できます。
例16.4 JavaScript コードの抜粋
function exchange (image, images_array_name, event) { name = image.name; images = eval (images_array_name); switch (event) { case 0: image.src = images[name + "_plain"].src; break; case 1: image.src = images[name + "_hover"].src; break; case 2: image.src = images[name + "_clicked"].src; break; case 3: image.src = images[name + "_hover"].src; break; } }
このオプションが無効ならばこのフィルタはすべての表組みセルに <a href="#"> ... </a>
というハイパーリンク素枠を加えます。 逆に初期設定どおりこれを有効にすると、 ガイドが水平方向と垂直方向のどちらにも少なくとも2本以上ある場合に、 フィルタは各行各列のすべての先頭と最後のセルだけはこのハイパーリンク素枠を省きます。 この処置は画像に枠が描かれていてその部分は反応させたくないときに役立ちます。
例16.5 外周部の画像片にはアンカータグを省略 (簡易HTMLコード)
<table cellpadding="0" border="0" cellspacing="0"> <tr> <td><img alt="" src="images/slice_0_0.png"/></td> <td><img alt="" src="images/slice_0_1.png"/></td> <td><img alt="" src="images/slice_0_2.png"/></td> <td><img alt="" src="images/slice_0_3.png"/></td> </tr> <tr> <td><img alt="" src="images/slice_1_0.png"/></td> <td><a href="#"><img alt="" src="images/slice_1_1.png"/></a></td> <td><a href="#"><img alt="" src="images/slice_1_2.png"/></a></td> <td><img alt="" src="images/slice_1_3.png"/></td> </tr> <tr> <td><img alt="" src="images/slice_2_0.png"/></td> <td><img alt="" src="images/slice_2_1.png"/></td> <td><img alt="" src="images/slice_2_2.png"/></td> <td><img alt="" src="images/slice_2_3.png"/></td> </tr> </table>
内側のセルだけ (空の) ハイパーリンクがかかる。