- 締切済み
画像の透明化
どうしてもわからない部分があります。 C++の経験浅いので、見当違いな記載があっても許してください。 Visualstadio C++ ExpressEdition 2005を使用しています。 bmp画像をPictureBoxで配置し、その上にPictureBox(bmp画像)を重ねて置いた場合、特定の一色を透明化させたいです。 どうかみなさんよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- nim05
- ベストアンサー率61% (111/181)
回答No.4
描画のAPIにGDI+を使用して、32BitBitmapとしてデータを読み込み、透過したいピクセルのα値を0にする、という方法もあります。 C++でもOKですが、WindowsSDKを別途インストールする必要があります。 http://d.hatena.ne.jp/yu-hr/20090131/1233349618 検索すると、PlatformSDKを入れろ、という情報が沢山見つかると思いますが、今はWindowsSDKに引っ越ししたようです。
- titokani
- ベストアンサー率19% (341/1726)
回答No.3
#1、#2です。 あと、 4.MaskBltを使う 5.イメージリストを使う という方法も使えそうです。
- titokani
- ベストアンサー率19% (341/1726)
回答No.2
#1です。 >3.リージョンを計算して、PictureBoxにSetRgnする。 SetRgnじゃなかったですね。SetWindowRgnでした。
- titokani
- ベストアンサー率19% (341/1726)
回答No.1
1.自力でBMP画像同士を合成する。 2.TransparentBltを使う 3.リージョンを計算して、PictureBoxにSetRgnする。 の、どれかでしょうか。