開発じたばた日誌

前へ●●●次へ
じたばた日誌目次へ戻る
TSUCHY Softへ戻る


Styx パレット編

 パレットの実体化とはいったいどんなことなのでしょう?またどんなタイミングですればいいのでしょう。 この問題をあつかった数ヶ月後、タイミングよくMSJにパレット問題を扱った特集がありました。 ほんと、ラッキーです。

 パレットの実体化とは、アプリがWindowsに対して、「あっしはこれだけの色を使いたいんです。 お願いします。」という儀式みたいなものらしいのです。 お願いしたからといって、全ての色が使えるかはわかりません。 アクティブウィンドウがお願いすれば、願いがかなう確率が高くなります。 そうでないウィンドウは少しの願いしかかなえてもらえないかもしれません。

 願いのかなえてもらえなかった色は「色化け」になります。 なんでもWindowsくんが使える色の中から最も近い色を選んでくれるそうです。

 さあ、うまく表示してくれよ。ん、それなりにでたな。 ではペイントブラシで「花見」を見てみよう。Styxの時計は変な色になってしまった。 そうです。Styxの時計がきれいに表示されていたとき、たとえば番号10の色は緑だったかもしれません。 でもペイントブラシは花見を表示するためそれを薄いピンクに変えてしまったのです。

 Styx時計の緑色で表示すべきところが薄いピンクになってしまったのです。はっきりいってめちゃめちゃです。 でもペイントブラシの「雲」と「花見」はきれいではありませんが、それほどめちゃめちゃになりません。 これらをよーくみていると、一瞬めちゃめちゃな色になり、そのあとそれなりの色になります。

 ほかのアプリがアクティブになり、パレットが変更されたら、自分もなにかしないといけないのです。 このあたりもMSJに詳しく解説されており、私は適切なタイミングで正しいパレット処理を行うことができたのです。

 さて256ビットマップを256ビデオに表示するのは、それなりにできました。 実はここのところはちょっと見る32を作った後にやっとできた処理なのです。 ビットマップの文字盤を..と思ったところが大変な目に会いました。 でも得られたものも大きかったと思います。 ペイントで花見をみても、Styx時計はそれなりに表示されます。

 さて最大の問題、フルカラービットマップを256色ビデオに出力する、です。 これは減色という大きな山を越えないといけません。 減色はちょっと見るでサポートしたのですが、Styxはしていなかった...と思います。 (これは手抜きだな ごめん) 減色問題はちょっと見るのコーナーまで待ってね。