スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
公開: --年--月--日, カテゴリ: スポンサー広告

Plane要素のunknownInt18属性による画像表示方法の違い

Plane要素の固有属性であるunknownInt18属性、海外フォーラムではdisplayModeとも呼ばれるこれは、RCOファイルに取り込んだイメージの表示方法の設定を行うことができる。ただし、unknownInt18属性の値を設定することで有効になるのはimage属性により何らかのイメージデータを置換させている場合に限る(例: image="image:tex_sample")。設定可能な値は現在私が把握しているものでは以下に示す種類がある。

これらは大雑把には0xffffとそれ以外というように区分できる。以下の章よりそれぞれの特徴を簡単に纏めておく。

unknownInt18="0x0"

参考画像: unknownInt18属性値による画像処理の違い

表示されるイメージの大きさはwidth, height属性に依存する。例えば、Image要素によりRCOファイルへと取り込んだイメージの実寸をwidth="100" height="100"だとする。このときPlane要素でwidth="50" height="50"にすれば実際に表示されるのはwidth="50" height="50"の、縦横のサイズが半分に縮小されたイメージである。反対にwidth="200" height="200"にしたならば原寸の2倍のサイズに拡大処理されて表示されるということになる。

この属性の値とwidth, height属性の値の変更による拡大・縮小処理はscaleWidth, scaleHeight属性及びResize要素による拡大・縮小処理と同じである。例えば、上記の例で言えばwidth="50" height="50"であればscaleWidth="0.5" scaleHeight="0.5"と同等で、width="200" height="200"であればscaleWidth="2" scaleHeight="2"と同等であるということだ。

ちなみに、参考のために用意した画像では、system_plugin_bg.rcoファイルに取り込んだトップメニューの『エクストラ』カテゴリのアイコンEXTRAアイコンをunknownInt18属性値を変更して表示させている。取り込んだイメージの実寸はwidth="40" height="39"であり、これをPlane要素でそれぞれwidth="100" height="100"として拡大処理させたうえで表示している。参考画像のアイコンは、右から順に0x00x300000x200000x10000に設定したPlane要素により置換した画像をトップメニューに表示させている。

unknownInt18="0xffff"

表示されるイメージの大きさはwidth及びheight属性に依存しない。参照されるのは読み込まれたイメージの実寸でありこれらの属性にどのような値を入力しようとも表示されるイメージに影響を及ぼさない。この値に設定されている限り、width, height属性値の入力の誤りによる表示不具合は起こりえない。ただし、scaleWidth, scaleHeight属性及びResize要素による拡大・縮小は他と同様に処理される。

unknownInt18="0x10000"、unknownInt18="0x20000"、unknownInt18="0x30000"

表示されるイメージの大きさはwidth及びheight属性に依存する。width, height属性に実寸より大きい、あるいは小さい値を入力した場合に拡大・縮小処理されるのは0x0と同様だが、その処理方法が微妙に異なっている。

例えば、実寸が100x100として、width="200" height="200"とするとそのまま拡大されるわけではなく、0x10000の値では200x200の範囲内で垂直方向は通常の拡大処理を、水平方向にはいっぱいに引き伸ばしたように拡大処理される。0x20000では反対に水平方向は通常の拡大処理を、そして垂直方向に引き伸ばしたように拡大処理される。0x30000の値ならば200x200範囲内いっぱいに引き伸ばされるような処理をされる。

まとめ

私は通常、この属性の値は0xffffとしている。これならwidth, height属性の値は常に0にしておけばいいからだ。また、たとえ変な値が入力されていたとしてもこれらは無視されるので問題は無い。反対に0x0は基本的には使わない。誤ってwidth="0"height="0"などと入力して表示されず原因探知に余計な時間を割くことになる。何らかの理由により拡大・縮小処理をしたければscaleWidth, scaleHeight属性で望みの倍率を指定してやればいい。細かいようだがそれぞれの特徴を知り使い分けることで役立つこともあるだろう。

公開: 2011年04月25日, カテゴリ: 雑談・小ネタ・資料集