如何在 C# 中使用函数 D3DXSaveSurfaceToFile()

本文关键字:函数 D3DXSaveSurfaceToFile | 更新日期: 2023-09-27 17:56:02

我使用 directx 9 来构建模型。

我想将其保存到 bmp 文件。我找到了函数 D3DXSaveSurfaceToFile()

但是我不知道如何在C#中使用它。

如何使用它?

如何在 C# 中使用函数 D3DXSaveSurfaceToFile()

不幸的是,在 c# 中没有这样的函数。请改为尝试以下代码:

try
{
// initialize D3D device 
PresentParameters presentParams = new PresentParameters();
presentParams.Windowed = true;
presentParams.SwapEffect = SwapEffect.Discard;
Device myDevice = new
Device(0,DeviceType.Hardware,this,CreateFlags.SoftwareVertexProcessing,presentParams);
// create a surface the size of screen, 
// format had to be A8R8G8B8, as the GetFrontBufferData returns
// only memory pool types allowed are Pool.Scratch or Pool.System memory
Surface mySurface =
myDevice.CreateOffscreenPlainSurface(SystemInformation.PrimaryMonitorSize.Width,SystemInformation.PrimaryMonitorSize.Height,Format.A8R8G8B8,Pool.SystemMemory);
//Get the front buffer.
myDevice.GetFrontBufferData(0,mySurface);
//saves surface to file
SurfaceLoader.Save("surface.bmp",ImageFileFormat.Bmp,mySurface);
}
catch
{
   //whatever
}