hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。 |
HSP3になってからパレットモードを使用する際は自分でパレットカラーを設定しなければならなくなりました。
ここではパレットの設定に関するソースを扱っていこうと思います。
勉強中のため、間違いなどもあると思います。 -- kz3 2005-09-30 08:22:43 (金)
1ピクセルをRGB三要素について0〜255までの256段階の色の組み合わせで表現したフルカラーに対して、
フルカラー16777216色から256色選び出し、0からの通し番号を割り当てた色をパレットカラーと呼び、
この割り当てに使用されたテーブルをパレットテーブルと呼ぶ。
また各色に割り当てた番号をインデックスと呼ぶ。
アプリケーションはインデックスからパレットテーブルを参照し対応するフルカラー1つの色を取得する。
パレットには3種類ある。
APIを使用した汎用パレット。アルゴリズムの勉強にはまったく役に立たない・・・。
まずはパレットカラーを取得(設定)できるかどうかのテスト。
ソースのなかではLOGPALETTE構造体を使っています。詳しくは可変長構造体を読んでください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
パレットモード、フルカラーモードの2つのウィンドウモードを用意し、画像を表示してみる。
パレットモードはパレットカラーをマップしたものと画像を表示したものを表示。
計3つのウィンドウで確認。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
|