掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CreateDIBSection()でモノクロのビットマップを作成するには? (ID:70160)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> なんとなく釈然としないような気もしますが raster operation に関する項目を見直してみると良いかと。 > MAKEROP4(SRCCOPY, PATCOPY) background rop として PATCOPY を指定した場合、↓のように動作する。 ・"マスク用モノクロイメージのビットが立っていない位置に該当する" hDest 上のピクセルを、hDest に選択されたブラシで塗り潰す > MAKEROP4(SRCCOPY, SRCAND) background rop として SRCAND を指定した場合、↓のように動作する ・"マスク用 (ry〜 に該当する" hDest 上のピクセルの色と、"マスク用 (ry〜 に該当する" hSrc 上のピクセルの色を論理積する > MAKEROP4(SRCCOPY, SRCAND) に変更するとマスクをかけて描画できました 確信を持っているワケではないが hSrc の内容によっては SRCAND では問題があるかもしれない。 例えば、hDest の "マスク用 (ry〜 に該当する" 位置の色が RGB(0x80, 0x80, 0x80) とした場合、 ・hSrc の "マスク用 (ry〜 に該当する" 位置の色が RGB(0xff, 0xff, 0xff) 処理後の色 = RGB(0x80 & 0xff, 0x80 & 0xff, 0x80 & 0xff) = RGB(0x80, 0x80, 0x80) となり hDest の色に変化は起こらない。 ・hSrc の "マスク用 (ry〜 に該当する" 位置の色が RGB(0x00, 0x00, 0x00) 処理後の色 = RGB(0x80 & 0x00, 0x80 & 0x00, 0x80 & 0x00) = RGB(0x00, 0x00, 0x00) となり、処理後の色は元の hDest の色と変わってくる。 という風に hSrc の内容によって結果が違ってくる。 # hSrc のマスク該当位置の色は必ず RGB(0xff, 0xff, 0xff) という前提が成り立つなら SRCAND で良いのだけどね
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.