掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CreateDIBSectionで作成された画像の色を正しく表示するには? (ID:84090)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
開発環境はWindows2000/VB6でAPI関数を使用しています。 バイナリファイルを読込んでDIBをCreateDIBSectionで作成し PictureBoxに表示しているのですが、 表示された色が期待されている色と違ってしまいます。 取得したカラーテーブルの確認とビットマップデータのインデックスも 確認したのですが、CreateDIBSectionをする直前まで正しくとれている ようです。原因として何が考えられるのでしょうか? ちなみにカラーテーブルのサイズは256色です。 下記にCreateDIBSectionとピクチャボックス表示時のコードを 抜粋します。 Public Function DIBCreate(ByVal hdc As Long, ByRef rtnDIB As ClassDIB) As Boolean Dim BI As BITMAPINFO ReDim BI.bmiColors(2 ^ rtnDIB.bmi.biBitCount - 1) BI.bmiHeader = rtnDIB.bmi BI.bmiColors = rtnDIB.colortbl rtnDIB.hMemDC = hdc rtnDIB.hDIBSection = CreateDIBSection(rtnDIB.hMemDC, BI, DIB_RGB_COLORS, rtnDIB.lpDIB, 0, 0) rtnDIB.hOldBmp = SelectObject(rtnDIB.hMemDC, rtnDIB.hDIBSection) Call RtlMoveMemory(rtnDIB.lpDIB, rtnDIB.bmpdata(0), _ rtnDIB.bmi.biSizeImage) DIBCreate = True End Function
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.