トップページ > 記事閲覧
描画時の XOR 演算
名前:大和団次郎 日時: 2018/09/01 13:26

SetDrawBlendMode で、加算や減算ができるのですが、 XOR 演算ができないでしょうか。 アニメーションエディタを移植しているのですが 図形を選択するときの範囲選択(ラバーバンド)に使いたいのです。 XOR演算ができると、同じ線を2回書くと、元の画像にもどるので 画面の書き直しが不要になって、高速に処理できます。 今は赤い線で書いて、白い線で消し、選択が終わったら 汚れた部分を書き直すということをしています。 ほかに使えそうな処理がありましたら、教えていただけると ありがたいです。
メンテ

Page: 1 |

Re: 描画時の XOR 演算 ( No.1 )
名前:8127 日時:2018/09/01 14:54

大和団次郎さま、 DX_BLENDMODE_XOR というブレンドモードはあるにはありますが、ソフトウエアレンダリングモード限定です。 そこで、DX_BLENDMODE_INVDESTCOLOR という、描画先の色を反転したあとに乗算ブレンドを行うモードを使い、 白色(255,255,255)で乗算ブレンドを無効化すれば、単なるネガポジ反転になってお望みの動作(2回書くと、元の画像にもどる)を実現できます。 Dxlib.hを覗くと他にもたくさんブレンドモードがあるので参考にしてください。
メンテ
Re: 描画時の XOR 演算 ( No.2 )
名前:大和団次郎 日時:2018/09/03 17:25

ばっちし、うまくいきました! DXライブラリすごいです。ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存