D3DImage.AddDirtyRect(Int32Rect) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geri arabelleğinin değişen alanını belirtir.
public:
void AddDirtyRect(System::Windows::Int32Rect dirtyRect);
[System.Security.SecurityCritical]
public void AddDirtyRect (System.Windows.Int32Rect dirtyRect);
public void AddDirtyRect (System.Windows.Int32Rect dirtyRect);
[<System.Security.SecurityCritical>]
member this.AddDirtyRect : System.Windows.Int32Rect -> unit
member this.AddDirtyRect : System.Windows.Int32Rect -> unit
Public Sub AddDirtyRect (dirtyRect As Int32Rect)
Parametreler
- Öznitelikler
Özel durumlar
Bit eşlem, veya TryLock(Duration) yöntemlerine Lock() yapılan bir çağrı tarafından kilitlenmedi.
-veya- Geri arabelleği yöntemine SetBackBuffer(D3DResourceType, IntPtr) yapılan bir çağrı tarafından atanmadı.
Aşağıdaki koşullardan biri veya daha fazlası doğrudur.
dirtyRect.X
< 0
dirtyRect.Y
< 0
dirtyRect.Width
< 0 veya dirtyRect.Width
> PixelWidthdirtyRect.Height
< 0 veya dirtyRect.Height
> PixelHeight
Örnekler
Aşağıdaki kod örneği, arka arabellekte AddDirtyRect değiştirilen bölgeyi belirtmek için yönteminin nasıl çağrılacağını gösterir. Daha fazla bilgi için bkz. İzlenecek yol: WPF'de Direct3D9 İçeriği Barındırma.
d3dimg.Lock();
// Repeatedly calling SetBackBuffer with the same IntPtr is
// a no-op. There is no performance penalty.
d3dimg.SetBackBuffer(D3DResourceType.IDirect3DSurface9, pSurface);
HRESULT.Check(Render());
d3dimg.AddDirtyRect(new Int32Rect(0, 0, d3dimg.PixelWidth, d3dimg.PixelHeight));
d3dimg.Unlock();
Açıklamalar
Kodunuzun AddDirtyRect arka arabellekte yaptığı değişiklikleri göstermek için yöntemini çağırın. İşlenmek için, arka arabellekte değiştirilen alanın üzerinde D3DImagekarşılık gelen bir değiştirilmiş alanı olmalıdır.
SetBackBuffer yöntemini çağırmadan önce ve Lock yöntemlerini çağırınAddDirtyRect.
Unlock Değiştirilen alanları ön arabelleğe kopyalamak için yöntemini çağırın.
Not
yöntemine AddDirtyRect yapılan birkaç çağrıdan sonra, değiştirilen alanlar tek bir alanla birleştirilir. Bu, değiştirilen alanların dışında geçerli verileriniz olması gerektiği anlamına gelir.