DIBのピクセルの書き換えについて

解決


名無し  2005-02-25 09:03:48  No: 56537

DIB(640x480ピクセルですべてのピクセルが黒)を作成しそのDIBをDCに描画することはできたのですが、作成したDIBのピクセルの色を変えて描画する方法がわかりません。
どなたかご指導をお願いしたいと思います。
よろしくお願いします。


いおり  2005-02-25 20:05:54  No: 56538

::SetPixel

もしくは CreateDIBSection などでDIBのビット列を取得できているのなら、
直接ビット列を操作しても可能。
ただし、ビット列がどのような色フォーマットになっているかは
作成時の設定によって異なるので注意してください。


たく  2005-02-25 20:06:54  No: 56539

すぐにおもいつくのは
・GetDIBitsでビット配列を取得し書き換える
・DCに選択後、SetPixelで書き換える
のどちらか

すべてのPIXELを同じ色にするのであれば
FillRectやFillSolidRect(MFC)のほうが楽かもしれません


名無し  2005-02-25 21:30:40  No: 56540

SetPixelで色を設定すると遅いですよね?


Ban  2005-02-25 21:48:05  No: 56541

遅いです。


変人  2005-02-26 04:37:01  No: 56542

これは、DIBのピクセルの内容を変えたい、と言うこと?
それなら、SetPixelなどのGDIではなくメモリ上のフレームバッファを
直接書き換えることになります(DIBは、そうしたピクセル列への直接
アクセスを行うための仕組み)。


名無し  2005-03-04 02:43:52  No: 56543

いろいろやっていたらできるようになりました。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加