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) |