256色のビットマップを使ったアプリがOS256色で色化けする

[戻る]
さとこ [E-Mail] 2002/05/02(木) 10:25:14
VC++6.0で256色のビットマップリソースを使用したアプリケーションを作成しました。
ところがOSの画面が256色の環境で、アプリを実行すると色化け(退色?)してしまいます。
256色以上の画面設定で全て同じようにビットマップが表示されるようにするにはどうしたらよ
いでしょう。

さとこ [E-Mail] 2002/05/02(木) 12:31:36
ちなみに開発環境はW2KProSp2
Visial Studio6.0 Sp5です。
よろしくお願いします。

みみみ 2002/05/02(木) 16:32:49
ディスプレイデバイスが256色のとき256色ビットマップが正常に表示できない原因は
2つ考えられます。
(ディスプレイデバイスがHi Color(24bit)、True Color(32bit)のときは正常表示と仮定)

(1)ビットマップがDDBである。またはSelectPaletteとRealizePaletteが実行できて
  いない。
  → MSDNで「リソースから256色のビットマップを読み込む方法」を検索してください。
  あるいは「How To Use LoadImage() to Read a BMP File」のコードが参考になる
  かもしれません。
(2)ビットマップの256色パレットのうち最後の20色に重要な色が配置されている。
  →ビットマップを20色減色して236色とし、最初の20色にシステムカラーを配置する。

merlo 2002/05/03(金) 16:33:50
画面のプロパティで,解像度を変更したら,
正常に表示されるようになった経験があります

古いスレッドには追加発言できません。