BitmapCache Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria e armazena em cache uma representação bitmap de um UIElement.
public ref class BitmapCache sealed : System::Windows::Media::CacheMode
public sealed class BitmapCache : System.Windows.Media.CacheMode
type BitmapCache = class
inherit CacheMode
Public NotInheritable Class BitmapCache
Inherits CacheMode
- Herança
Exemplos
O XAML a seguir mostra como armazenar em cache um Canvas elemento. Para obter o exemplo de código completo, consulte Como melhorar o desempenho de renderização armazenando em cache um elemento.
<!-- //////////////////////////////////////////////////////////////// -->
<!-- // The following XAML creates a BitmapCache with default // -->
<!-- // properties and assigns it as the CacheMode for the canvas. // -->
<!-- //////////////////////////////////////////////////////////////// -->
<Canvas.CacheMode>
<BitmapCache EnableClearType="False"
RenderAtScale="1"
SnapsToDevicePixels="False" />
</Canvas.CacheMode>
Comentários
Use a classe para melhorar o BitmapCache desempenho de renderização de um complexo UIElement. Crie um BitmapCache e atribua-o CacheMode à propriedade de um UIElement para armazenar em cache o elemento e sua subárvore como um bitmap na memória de vídeo. Isso é útil quando você precisa animar, traduzir ou dimensionar o UIElement mais rápido possível. Essa abordagem permite uma compensação entre o desempenho e a qualidade visual enquanto o conteúdo é armazenado em cache.
Use a BitmapCacheBrush classe para reutilizar com eficiência um elemento armazenado em cache.
Defina a RenderAtScale propriedade para dimensionar o cache de bitmap. Isso será útil se um elemento for ampliado e você quiser que o elemento seja renderizado mais claramente do que seria se o cache fosse simplesmente gerado na resolução nativa do elemento.
Defina a SnapsToDevicePixels propriedade quando o cache exibir conteúdo que requer alinhamento de pixel para renderizar corretamente, como texto ClearType. Essa propriedade é ignorada pelas classes e Viewport2DVisual3D pelas BitmapCacheBrush classes.
Armazenar em cache um controle não afeta o comportamento do mouse over, portanto, o teste de clique do mouse-over opera como se o bitmap fosse um controle dinâmico.
A regeneração de cache ocorre somente quando a UIElement estrutura da subárvore é alterada ou quando as CacheMode configurações são alteradas. Definir as RenderAtScale propriedades ou EnableClearType causa a regeneração do cache. As alterações na árvore visual pai do cache UIElement, como transformações, escalas, opacidades e efeitos, não afetam o cache.
O cache funciona quando a aceleração de hardware não está disponível. Nesse caso, o bitmap é renderizado no software e as dimensões máximas de bitmap são 2048 x 2048.
Observação
RenderOptions e TextOptions não se propague por meio de um elemento armazenado em cache. Talvez seja necessário definir essas opções novamente em elementos filho abaixo do cache.
Construtores
| Nome | Description |
|---|---|
| BitmapCache() |
Inicializa uma nova instância da classe BitmapCache. |
| BitmapCache(Double) |
Inicializa uma nova instância da BitmapCache classe com a escala especificada. |
Campos
| Nome | Description |
|---|---|
| EnableClearTypeProperty |
Identifica a EnableClearType propriedade de dependência. |
| RenderAtScaleProperty |
Identifica a RenderAtScale propriedade de dependência. |
| SnapsToDevicePixelsProperty |
Identifica a SnapsToDevicePixels propriedade de dependência. |
Propriedades
| Nome | Description |
|---|---|
| CanFreeze |
Obtém um valor que indica se o objeto pode ser tornado inmodificável. (Herdado de Freezable) |
| DependencyObjectType |
Obtém o DependencyObjectType que encapsula o tipo CLR dessa instância. (Herdado de DependencyObject) |
| Dispatcher |
Obtém o Dispatcher que DispatcherObject está associado. (Herdado de DispatcherObject) |
| EnableClearType |
Obtém ou define um valor que indica se o bitmap é renderizado com ClearType ativado. |
| HasAnimatedProperties |
Obtém um valor que indica se um ou mais AnimationClock objetos estão associados a qualquer uma das propriedades de dependência desse objeto. (Herdado de Animatable) |
| IsFrozen |
Obtém um valor que indica se o objeto é modificável no momento. (Herdado de Freezable) |
| IsSealed |
Obtém um valor que indica se essa instância está lacrada no momento (somente leitura). (Herdado de DependencyObject) |
| RenderAtScale |
Obtém ou define um valor que indica a escala que é aplicada ao bitmap. |
| SnapsToDevicePixels |
Obtém ou define um valor que indica se o bitmap é renderizado com ajuste de pixel. |
Métodos
| Nome | Description |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Aplica-se a DependencyPropertyum AnimationClock . Se a propriedade já estiver animada, a especificada HandoffBehavior será usada. (Herdado de Animatable) |
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Aplica-se a DependencyPropertyum AnimationClock . Se a propriedade já estiver animada, o SnapshotAndReplace comportamento de entrega será usado. (Herdado de Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Aplica uma animação ao especificado DependencyProperty. A animação é iniciada quando o próximo quadro é renderizado. Se a propriedade especificada já estiver animada, a especificada HandoffBehavior será usada. (Herdado de Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline) |
Aplica uma animação ao especificado DependencyProperty. A animação é iniciada quando o próximo quadro é renderizado. Se a propriedade especificada já estiver animada, o SnapshotAndReplace comportamento de entrega será usado. (Herdado de Animatable) |
| CheckAccess() |
Determina se o thread de chamada tem acesso a isso DispatcherObject. (Herdado de DispatcherObject) |
| ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade. A propriedade a ser desmarcada é especificada por um DependencyProperty identificador. (Herdado de DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Limpa o valor local de uma propriedade somente leitura. A propriedade a ser desmarcada é especificada por um DependencyPropertyKey. (Herdado de DependencyObject) |
| Clone() |
Cria um clone modificável do BitmapCache. fazendo cópias profundas dos valores do objeto. Ao copiar as propriedades de dependência do objeto, esse método copia expressões (que podem não ser mais resolvidas), mas não animações ou seus valores atuais. |
| CloneCore(Freezable) |
Torna a instância um clone (cópia profunda) dos valores de propriedade base (não animados) especificados Freezable . (Herdado de Freezable) |
| CloneCurrentValue() |
Cria um clone modificável (cópia profunda) do uso de BitmapCache seus valores atuais. |
| CloneCurrentValueCore(Freezable) |
Torna a instância um clone modificável (cópia profunda) do especificado Freezable usando valores de propriedade atuais. (Herdado de Freezable) |
| CoerceValue(DependencyProperty) |
Coagi o valor da propriedade de dependência especificada. Isso é feito invocando qualquer CoerceValueCallback função especificada nos metadados de propriedade para a propriedade de dependência como ela existe na chamada DependencyObject. (Herdado de DependencyObject) |
| CreateInstance() |
Inicializa uma nova instância da classe Freezable. (Herdado de Freezable) |
| CreateInstanceCore() |
Quando implementado em uma classe derivada, cria uma nova instância da Freezable classe derivada. (Herdado de Freezable) |
| Equals(Object) |
Determina se um fornecido DependencyObject é equivalente ao atual DependencyObject. (Herdado de DependencyObject) |
| Freeze() |
Torna o objeto atual inmodificável e define sua IsFrozen propriedade como |
| FreezeCore(Boolean) |
Torna esse Animatable objeto inmodificável ou determina se ele pode ser tornado inmodificável. (Herdado de Animatable) |
| GetAnimationBaseValue(DependencyProperty) |
Retorna o valor não animado do especificado DependencyProperty. (Herdado de Animatable) |
| GetAsFrozen() |
Cria uma cópia congelada dos valores de Freezablepropriedade base (não animados). Como a cópia está congelada, todos os sub-objetos congelados são copiados por referência. (Herdado de Freezable) |
| GetAsFrozenCore(Freezable) |
Torna a instância um clone congelado dos valores de propriedade base (não animados) especificados Freezable . (Herdado de Freezable) |
| GetCurrentValueAsFrozen() |
Cria uma cópia congelada do Freezable uso de valores de propriedade atuais. Como a cópia está congelada, todos os sub-objetos congelados são copiados por referência. (Herdado de Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Torna a instância atual um clone congelado do especificado Freezable. Se o objeto tiver propriedades de dependência animadas, seus valores animados atuais serão copiados. (Herdado de Freezable) |
| GetHashCode() |
Obtém um código hash para isso DependencyObject. (Herdado de DependencyObject) |
| GetLocalValueEnumerator() |
Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente.DependencyObject (Herdado de DependencyObject) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetValue(DependencyProperty) |
Retorna o valor efetivo atual de uma propriedade de dependência nesta instância de um DependencyObject. (Herdado de DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Reavalia o valor efetivo da propriedade de dependência especificada. (Herdado de DependencyObject) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| OnChanged() |
Chamado quando o objeto atual Freezable é modificado. (Herdado de Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Esse membro dá suporte à infraestrutura do WPF (Windows Presentation Foundation) e não se destina a ser usado diretamente do seu código. (Herdado de Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Garante que os ponteiros de contexto apropriados sejam estabelecidos para um DependencyObjectType membro de dados que acabou de ser definido. (Herdado de Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Substitui a DependencyObject implementação de OnPropertyChanged(DependencyPropertyChangedEventArgs) invocar também os Changed manipuladores em resposta a uma propriedade de dependência de alteração do tipo Freezable. (Herdado de Freezable) |
| ReadLocalValue(DependencyProperty) |
Retorna o valor local de uma propriedade de dependência, se ela existir. (Herdado de DependencyObject) |
| ReadPreamble() |
Garante que ele Freezable esteja sendo acessado de um thread válido. Os herdadores devem Freezable chamar esse método no início de qualquer API que leia os membros de dados que não são propriedades de dependência. (Herdado de Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Define o valor de uma propriedade de dependência sem alterar sua fonte de valor. (Herdado de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Define o valor local de uma propriedade de dependência, especificada por seu identificador de propriedade de dependência. (Herdado de DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Define o valor local de uma propriedade de dependência somente leitura, especificada pelo DependencyPropertyKey identificador da propriedade de dependência. (Herdado de DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Retorna um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida. (Herdado de DependencyObject) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
| VerifyAccess() |
Impõe que o thread de chamada tenha acesso a isso DispatcherObject. (Herdado de DispatcherObject) |
| WritePostscript() |
Aciona o Changed evento para o Freezable método e invoca seu OnChanged() método. Classes das quais derivam Freezable devem chamar esse método no final de qualquer API que modifique os membros da classe que não são armazenados como propriedades de dependência. (Herdado de Freezable) |
| WritePreamble() |
Verifica se o Freezable não está congelado e se ele está sendo acessado de um contexto de threading válido. Freezable os herdadores devem chamar esse método no início de qualquer API que grava em membros de dados que não são propriedades de dependência. (Herdado de Freezable) |
Eventos
| Nome | Description |
|---|---|
| Changed |
Ocorre quando o objeto ou um Freezable objeto que ele contém é modificado. (Herdado de Freezable) |