ColorMatrix(具体的にはC ++/CLIのSystem::Drawing :: Imaging :: ColorMatrix)を指定してアルファしきい値を設定する方法を知っている人はいますか?たとえば、しきい値として10(10/255)を使用する場合、RGBAアルファが10以下のピクセルは0.0fアルファになり、それより上のすべてのピクセルは1.0fになります。
マウスが指している特定のビットマップのどのピクセルを決定するために描画変換を逆にする現在の扱いにくい方法を使用することにうんざりしているので、2DシーンエディタでColorIDピッキングを実装しようとしています。代わりに、ここで説明するように、OpenGLのようにColorIDレンダリングパスを実行します。http ://content.gpwiki.org/index.php/OpenGL_Selection_Using_Unique_Color_IDsただし、画面上のビットマップの場所を比較することはできません。マウスピッキングで拾われたくない空白がたくさん含まれているため、カラーピッキングが残ります。
今のところ私のColorMatrixは次のようになります
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 1 0
R G B 0 1
GDI +に対するハンスの回答に従う:既存のアルファ値を保持しながらすべてのピクセルを指定された色に設定しますが、アルファコンポーネントにもしきい値を適用したいと思います(ColorMatrixを使用しても可能である場合)