BufferedGraphicsContext Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет методы для создания графических буферов, которые можно использовать для двойного буферизации.
public ref class BufferedGraphicsContext sealed : IDisposable
public sealed class BufferedGraphicsContext : IDisposable
type BufferedGraphicsContext = class
interface IDisposable
Public NotInheritable Class BufferedGraphicsContext
Implements IDisposable
- Наследование
-
BufferedGraphicsContext
- Реализации
Примеры
В следующем примере кода показано, как получить текущий BufferedGraphicsContext домен приложения. Этот код является частью более крупного примера, предоставленного BufferedGraphics для класса.
// 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
Комментарии
Класс BufferedGraphicsContext позволяет реализовать настраиваемую двойную буферизацию для графики. Графики, использующие двойное буферизация, могут уменьшить или исключить мерцание, вызванное перерисовкой поверхности дисплея.
Замечание
В .NET 6 и более поздних версиях пакет System.Drawing.Common, который включает этот тип, поддерживается только в операционных системах Windows. Использование этого типа в кроссплатформенных приложениях вызывает предупреждения во время компиляции и исключения во время выполнения. Дополнительные сведения см. в статье System.Drawing.Common, поддерживаемой только в Windows.
Замечание
Самый простой способ использования двойного буферизации — задать OptimizedDoubleBuffer флаг стиля элемента управления в элементе SetStyle управления с помощью метода.
OptimizedDoubleBuffer Задание флага стилей элементов управления для элемента управления перенаправляет все рисунки для элемента управления с помощью графического буфера по умолчанию, не требуя дополнительного кода. Этот флаг по умолчанию имеет значение true .
Класс BufferedGraphicsContext предоставляет методы для создания и настройки графического буфера. Метод Allocate создает BufferedGraphicsоболочку для графического буфера, который также предоставляет методы для записи в буфер и отрисовки его содержимого на выходном устройстве.
Вы можете получить BufferedGraphicsContext текущий домен приложения из статического BufferedGraphicsManager.Current свойства. Для графически интенсивных приложений, таких как анимация, можно создать выделенный BufferedGraphicsContext конструктор, но для большинства приложений BufferedGraphicsManager.Current свойство будет достаточно.
Дополнительные сведения о рисовании буферизованной графики и пользовательских реализациях буферизации см. в разделе "Двойнойбуферизованной графики" и "Практическое руководство. Управление буферизованной графикой" вручную.
Конструкторы
| Имя | Описание |
|---|---|
| BufferedGraphicsContext() |
Инициализирует новый экземпляр класса BufferedGraphicsContext. |
Свойства
| Имя | Описание |
|---|---|
| MaximumBuffer |
Возвращает или задает максимальный размер используемого буфера. |
Методы
| Имя | Описание |
|---|---|
| Allocate(Graphics, Rectangle) |
Создает графический буфер указанного размера с помощью формата пикселя указанного Graphics. |
| Allocate(IntPtr, Rectangle) |
Создает графический буфер указанного размера с помощью формата пикселя указанного Graphics. |
| Dispose() |
Освобождает все ресурсы, используемые параметром BufferedGraphicsContext. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Finalize() |
Позволяет объекту пытаться освободить ресурсы и выполнять другие операции очистки перед его восстановлением сборкой мусора. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| Invalidate() |
Удаляет текущий графический буфер, если буфер был выделен и еще не удален. |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |