256色時のパレットについて

[戻る]
TOM 2002/04/16(火) 01:13:30
こんばんわ。
ここで質問するのは二回目になります。

普段は自分で解決するよう心がけているのですが
ついに行き詰まってしまいました・・・

ディスプレイの色数を256色にして、
パレットを作成しているのですが
「RealizePalette」でシステムパレットにセットしますよね?

その場合、Windowsが予約している20色は上書きされないのですか?
さらに避けてセットされる場合、
セットしたパレットのインデックスは変更されないのですが?

現在何とか自分で作ったパレットをセットすることはできたのですが
なんか微妙に違うんです・・・
同じ色が連続してる所があったり、全然関係ない色になってたり・・・

どなたか良きアドバイスをお願いいたします。

wood 2002/04/16(火) 06:59:59
>>同じ色が連続してる所があったり、全然関係ない色になってたり・
見え方の話ですよね
「Inside Visual C++ V5」の128ページによれば
VGAカードによって見え方違うみたいですけど

16色以外はマシンが違うと見え方違ってきますよ
またOSによって解釈されるGDIのバージョンのせいでいろ違うこともあります
色が近いと言うことで妥協しなきゃいけないんじゃないですか

TOM 2002/04/17(水) 01:00:42
woodさんアドバイスありがとうございます。
当初の問題は何故か治りました(^^;

これでやっと思う存分DIBを描けると思ったのですが
また新たな問題が出てきました。

よく見ると読み込んだ画像の左上(座標で言うと[5,0])位の所に
4ドット違う色が出ているのです。

ビット配列のパレット番号もチェックしましたが
異常はなく、ちゃんと目的のパレット番号が入っています。
しかし表示すると違う色が表示されるのです。

それも10x10位の小さな画像にはでず、ある程度大きな画像にでます。

調べたところビデオカードが原因と言う噂も聞きました。
これはもう打つ手無しなのでしょうか?

いもちぃ 2002/04/17(水) 10:08:02
>調べたところビデオカードが原因と言う噂も聞きました。

ドライバは最新ですか?

TOM 2002/04/17(水) 18:04:41
[[解決]]
いもちぃさんアドバイスありがとうございます。
実はビデオカードの問題でも何でもなく、ただ
DWORD境界のミスでした(^^;
アチコチのサイトであれほど「DWORDに注意」
と書かれているのにミスっていました・・・

アドバイスして下さった皆さん
手を煩わせて申し訳ありませんでした(-_-;
また一から出直してきます。

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