※ ChatGPTを利用し、要約された質問です(原文:DirectXでの半透明PNG画像について)
DirectXでの半透明PNG画像について
このQ&Aのポイント
DirectXでの半透明PNG画像の描画に問題が発生しています。
半透明の部分が描画されず、透明でない部分のみが描画されます。
原因を特定するために試行錯誤していますが、解決方法が見つかりません。
半分が半透明で、もう半分は透明でない単色のPNG画像(128×128サイズ)を作成しました。
ソフトはAdobe Photoshop Elements 6.0で、アルファ設定されている「PNG-24」です。
D3DXCreateTextureFromFileEx関数で、そのPNG画像を読み込んで描画したのですが、半透明の部分は描画されず、透明にしていない片方しか描画されませんでした。
半透明の部分も描画されるようにするにはどうすればよいでしょうか?
自分でもいろいろ調べてみたのですが、原因がよく分からないので質問させていただきます。
一応、参考程度に…
// スプライトオブジェクトの作成
if ( FAILED( D3DXCreateSprite( g_pd3dDevice, &m_pSprite ) ) ) {
// エラー処理
}
D3DXIMAGE_INFO info;
// テクスチャの読み込み
if( FAILED( D3DXCreateTextureFromFileExA( g_pd3dDevice,
FileName,
D3DX_DEFAULT,
D3DX_DEFAULT,
D3DX_DEFAULT,
0,
D3DFMT_A1R5G5B5,
D3DPOOL_MANAGED,
D3DX_FILTER_NONE,
D3DX_FILTER_NONE,
0,
&info,
NULL,
&g_pd3dTexture) ) ) {
// エラー処理
}
お礼
回答ありがとうございます。 D3DFMT_A8R8G8B8にするとちゃんと半透明に描画されました。