Udostępnij za pośrednictwem


BufferedGraphicsContext Klasa

Definicja

Udostępnia metody tworzenia buforów graficznych, których można użyć do podwójnego buforowania.

public ref class BufferedGraphicsContext sealed : IDisposable
public sealed class BufferedGraphicsContext : IDisposable
type BufferedGraphicsContext = class
    interface IDisposable
Public NotInheritable Class BufferedGraphicsContext
Implements IDisposable
Dziedziczenie
BufferedGraphicsContext
Implementuje

Przykłady

W poniższym przykładzie kodu pokazano, jak uzyskać BufferedGraphicsContext element dla bieżącej domeny aplikacji. Ten kod jest częścią większego przykładu udostępnionego BufferedGraphics dla klasy .

// Retrieves the BufferedGraphicsContext for the 
// current application domain.
BufferedGraphicsContext^ appDomainGraphicsContext =
   BufferedGraphicsManager::Current;
// Retrieves the BufferedGraphicsContext for the
// current application domain.
BufferedGraphicsContext appDomainGraphicsContext =
     BufferedGraphicsManager.Current;
' Retrieves the BufferedGraphicsContext for the 
' current application domain.
Dim appDomainGraphicsContext As BufferedGraphicsContext = BufferedGraphicsManager.Current

Uwagi

Klasa BufferedGraphicsContext umożliwia zaimplementowanie niestandardowego podwójnego buforowania dla grafiki. Grafika używająca podwójnego buforowania może zmniejszyć lub wyeliminować migotanie spowodowane ponownym rysowaniem powierzchni ekranu.

Uwaga

W programie .NET 6 i nowszych wersjach pakiet System.Drawing.Common, który obejmuje ten typ, jest obsługiwany tylko w systemach operacyjnych Windows. Użycie tego typu w aplikacjach międzyplatformowych powoduje ostrzeżenia w czasie kompilacji i wyjątki czasu wykonywania. Aby uzyskać więcej informacji, zobacz System.Drawing.Common only supported on Windows (Obsługiwane tylko w systemie Windows).

Uwaga

Najprostszym sposobem użycia podwójnego buforowania jest ustawienie OptimizedDoubleBuffer flagi stylu kontrolki w kontrolce przy użyciu SetStyle metody . OptimizedDoubleBuffer Ustawienie flagi stylów kontrolki dla kontrolki przekierowuje wszystkie obrazy kontrolki za pomocą domyślnego buforu graficznego, bez konieczności dodatkowego kodu. Ta flaga jest domyślnie ustawiona na true .

Klasa BufferedGraphicsContext udostępnia metody tworzenia i konfigurowania buforu graficznego. Metoda Allocate tworzy BufferedGraphicsobiekt , który jest otoką buforu graficznego, który udostępnia również metody umożliwiające zapisywanie w buforze i renderowanie jego zawartości na urządzeniu wyjściowym.

Element dla bieżącej domeny aplikacji można pobrać BufferedGraphicsContext z właściwości statycznej BufferedGraphicsManager.Current . W przypadku aplikacji intensywnie korzystających z graficznych, takich jak animacja, można utworzyć dedykowany BufferedGraphicsContext przy użyciu konstruktora, ale w przypadku większości aplikacji BufferedGraphicsManager.Current właściwość będzie wystarczająca.

Aby uzyskać więcej informacji na temat rysunku buforowanej grafiki i niestandardowych implementacji buforowania, zobacz Podwójne buforowane grafiki i Instrukcje: Ręczne zarządzanie buforowaną grafiką.

Konstruktory

BufferedGraphicsContext()

Inicjuje nowe wystąpienie klasy BufferedGraphicsContext.

Właściwości

MaximumBuffer

Pobiera lub ustawia maksymalny rozmiar buforu do użycia.

Metody

Allocate(Graphics, Rectangle)

Tworzy bufor graficzny o określonym rozmiarze przy użyciu formatu pikseli określonego Graphicsobiektu .

Allocate(IntPtr, Rectangle)

Tworzy bufor graficzny o określonym rozmiarze przy użyciu formatu pikseli określonego Graphicsobiektu .

Dispose()

Zwalnia wszelkie zasoby używane przez element BufferedGraphicsContext.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Umożliwia obiektowi próbę zwolnienia zasobów i wykonania innych operacji oczyszczania przed odzyskaniem przez odzyskiwanie pamięci.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
Invalidate()

Usuwa bieżący bufor graficzny, jeśli bufor został przydzielony i nie został jeszcze usunięty.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też