2016-03-19 13 views
0
i boyutlandırmak kılmak istiyoruz

SharpDX 2D Pencere Boyutlandırma

KOD

mSwapChainDesc = new dx.SwapChainDescription() 
{ 
    BufferCount = 1, 
    IsWindowed = true, 
    OutputHandle = Target.Handle, 
    SwapEffect = dx.SwapEffect.Discard, 
    Usage = dx.Usage.RenderTargetOutput | dx.Usage.ShaderInput, 
    Flags = dx.SwapChainFlags.None, 
    ModeDescription = new dx.ModeDescription(Target.ClientSize.Width, Target.ClientSize.Height, dx.Rational.Empty, dx.Format.B8G8R8A8_UNorm), 
    SampleDescription = new dx.SampleDescription(1, 0) 
}; 

d3.Device.CreateWithSwapChain(d3d.DriverType.Hardware, d3.DeviceCreationFlags.BgraSupport, mSwapChainDesc, out mD3Device, out mSwapChain); 
mSurface = dx.Surface.FromSwapChain(mSwapChain, 0); 

Factory = new d2.Factory(); 
DWFactory = new dWrite.Factory(); 
mDevice = new d2.DeviceContext(mSurface); 

mRenderCallback = new dWin.RenderLoop.RenderCallback(Render); 

tryied

mSwapChain.ResizeBuffers(
    mSwapChain.Description.BufferCount, 
    renderSize.Value.Width, 
    renderSize.Value.Height, 
    mSwapChain.Description.ModeDescription.Format, 
    mSwapChain.Description.Flags); 

Hata

hresult: [0x887A0001] Modül: [SharpDX.DXGI] ApiCode: [DXGI_ERROR_INVALID_CALL/InvalidCall]

cevap

0

onay açıklamalar here on the MSDN.

Bu yardımcı olmazsa yeniden boyutlandırma yöntemini kullanabilmeniz için gereken bir bayrak ya da bir şey olduğunu düşündüm. senin hresult

HRESULT: 0x887A0001 : The application provided invalid parameter data; this must be debugged and fixed before the application is released.,

DXGI_ERROR Codes açıklıyor.

Sanırım yüzey sizi hızlandırıyor. Yeniden boyutlandırmadan önce onu serbest bırakın.

İlgili konular