VC++(MFC):
アルファPNGの作成
Windows 11 Visual Studio 2022
CImageクラスとGDI+を用いてアルファPNGを作成します。
アプリケーション・ウィンドウのタイトルバー上に、「開く」「保存」「カラー」
3つのボタンを配置してあり、マウスの左ボタンを押しながらドラッグすると、
フリーラインによる閉じられた図形を描画できます。
任意の図形を右クリックすると、その図形がもつ色と同じ色の図形がすべて透明
になります。
図形を描く場合にGDI+の SmoothingModeAntiAliasを使用すると、
図形のエッジの色が修正されるので、きれいな透過ができません。
また、JPGやGIFイメージをロードした場合は、圧縮により削除
されている色があるので同じです。このような場合は、透明化する色に
範囲を設けると、ほどほどには可能かと。
どうしても完全に対応したければ、エッジの半透明化など自分で
アルゴリズムを考える必要がありますが、可能ですしDirectXの
テクスチャ処理などでも、そういったことが行われています。
イメージの保存は、PNGまたはTIFで行ってください。透過GIFは作成できません。
MFCアプリケーション makePng(ダイアログベース、タイトルバー付)
参考:ソース・コード