1

がありID3D11ShaderResourceView * textureResView、そのテクスチャをファイルに保存したいと考えています。最初に を抽出する必要があると思いID3D11Texture2Dますので、コードを作成しました。

ID3D11Resource * res;
ID3D11Texture2D * tex;
textureResView->GetResource(&res);
res->QueryInterface(&tex);
HRESULT result = D3DX11SaveTextureToFile(
    g_pImmediateContext, tex, D3DX11_IFF_PNG, "name.png");

残念ながら、それは を返しますE_FAIL。私は何を間違っていますか?

4

1 に答える 1

1

E_FAIL が返ってきたので、D3DX11SaveTextureToFile(...) 関数に問題がありました。Windows 8 を使用している場合は、別の機能を使用してください ( http://msdn.microsoft.com/en-us/library/windows/desktop/ff476298%28v=vs.85%29.aspx )

しかし、私は試してみる

HRESULT result = D3DX11SaveTextureToFile(g_pImmediateContext, tex, D3DX11_IFF_PNG, L"name.png");

LPCSTR は文字列形式とは異なる形式であるため、文字列の前に L を付ける必要があります。

それがうまくいくことを願っています

于 2013-03-14T15:42:15.030 に答える