お世話になっております。
VB6,XPです。
デスクトップ上で右クリックして画面のプロパティを開き、画面の色を設定することが出来ますが、その設定にかかわらずに、
例えばPicture1の色の深度を16ビットに固定する、ということは出来ますか。
Picture1の限定が無理なら、そのForm全体とか、そのEXE全体でもかまいません。
よろしくお願いします。
PictureBox の色深度は(プライマリ)ディスプレイの設定に依存します
ので、アプローチを変える必要があるのでは。
PictureBox の場合の色深度情報は、hDC 側ではなく、そこで SelectObject
されている hBitmap 側にあります。で、通常のアプローチとしては、
PictureBox を使わず、全部自力で API 関数を用いるなどして 色深度が
16bits な hDIBSection を用意し、それを用意した hMemDC に SelectObject
させて、それに対して描画用の関数を呼び出す、ということになるでしょう。