BitmapFrame 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.
Representa os dados de imagem retornados por um decodificador e aceitos pelos codificadores.
public ref class BitmapFrame abstract : System::Windows::Media::Imaging::BitmapSource, System::Windows::Markup::IUriContext
public abstract class BitmapFrame : System.Windows.Media.Imaging.BitmapSource, System.Windows.Markup.IUriContext
type BitmapFrame = class
inherit BitmapSource
interface IUriContext
Public MustInherit Class BitmapFrame
Inherits BitmapSource
Implements IUriContext
- Herança
- Implementações
Exemplos
O exemplo de código a seguir demonstra como criar um novo BitmapSource usando um BitmapFrame.
int width = 128;
int height = width;
int stride = width/8;
byte[] pixels = new byte[height*stride];
// Try creating a new image with a custom palette.
List<System.Windows.Media.Color> colors = new List<System.Windows.Media.Color>();
colors.Add(System.Windows.Media.Colors.Red);
colors.Add(System.Windows.Media.Colors.Blue);
colors.Add(System.Windows.Media.Colors.Green);
BitmapPalette myPalette = new BitmapPalette(colors);
// Creates a new empty image with the pre-defined palette
BitmapSource image = BitmapSource.Create(
width,
height,
96,
96,
PixelFormats.Indexed1,
myPalette,
pixels,
stride);
FileStream stream = new FileStream("empty.tif", FileMode.Create);
TiffBitmapEncoder encoder = new TiffBitmapEncoder();
TextBlock myTextBlock = new TextBlock();
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString();
encoder.Frames.Add(BitmapFrame.Create(image));
MessageBox.Show(myPalette.Colors.Count.ToString());
encoder.Save(stream);
Dim width As Integer = 128
Dim height As Integer = width
Dim stride As Integer = CType(width / 8, Integer)
Dim pixels(height * stride) As Byte
' Try creating a new image with a custom palette.
Dim colors As New List(Of System.Windows.Media.Color)()
colors.Add(System.Windows.Media.Colors.Red)
colors.Add(System.Windows.Media.Colors.Blue)
colors.Add(System.Windows.Media.Colors.Green)
Dim myPalette As New BitmapPalette(colors)
' Creates a new empty image with the pre-defined palette
Dim image As BitmapSource = System.Windows.Media.Imaging.BitmapSource.Create(width, height, 96, 96, PixelFormats.Indexed1, myPalette, pixels, stride)
Dim stream As New FileStream("empty.tif", FileMode.Create)
Dim encoder As New TiffBitmapEncoder()
Dim myTextBlock As New TextBlock()
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString()
encoder.Frames.Add(BitmapFrame.Create(image))
MessageBox.Show(myPalette.Colors.Count.ToString())
encoder.Save(stream)
O exemplo de código a seguir demonstra como usar o BitmapFrame objeto para abrir um gráfico PNG (Portable Network Graphics) e gravar metadados usando o CreateInPlaceBitmapMetadataWriter método.
Stream^ pngStream = gcnew FileStream("smiley.png", FileMode::Open, FileAccess::ReadWrite, FileShare::ReadWrite);
PngBitmapDecoder^ pngDecoder = gcnew PngBitmapDecoder(pngStream, BitmapCreateOptions::PreservePixelFormat, BitmapCacheOption::Default);
BitmapFrame^ pngFrame = pngDecoder->Frames[0];
InPlaceBitmapMetadataWriter^ pngInplace = pngFrame->CreateInPlaceBitmapMetadataWriter();
if (pngInplace->TrySave())
{
pngInplace->SetQuery("/Text/Description", "Have a nice day.");
}
pngStream->Close();
Stream pngStream = new System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
PngBitmapDecoder pngDecoder = new PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapFrame pngFrame = pngDecoder.Frames[0];
InPlaceBitmapMetadataWriter pngInplace = pngFrame.CreateInPlaceBitmapMetadataWriter();
if (pngInplace.TrySave())
{ pngInplace.SetQuery("/Text/Description", "Have a nice day."); }
pngStream.Close();
Dim pngStream As New System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
Dim pngDecoder As New PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim pngFrame As BitmapFrame = pngDecoder.Frames(0)
Dim pngInplace As InPlaceBitmapMetadataWriter = pngFrame.CreateInPlaceBitmapMetadataWriter()
If pngInplace.TrySave() = True Then
pngInplace.SetQuery("/Text/Description", "Have a nice day.")
End If
pngStream.Close()
Comentários
BitmapFrame fornece funcionalidade adicional não definida BitmapSource fornecendo acesso ao associado a Thumbnail um quadro específico de uma imagem. BitmapFrame também dá suporte à gravação de informações de metadados usando a Metadata propriedade ou o CreateInPlaceBitmapMetadataWriter método.
Qualquer BitmapFrame retorno de um decodificador é sempre congelado. Se você precisar de uma cópia modificável, primeiro crie uma cópia usando BitmapFrame o Clone método.
Somente as imagens de formato TIFF (Formato de Arquivo de Imagem Marcada) e GIF (Formato de Intercâmbio Gráfico) dão suporte a vários quadros.
Construtores
| Nome | Description |
|---|---|
| BitmapFrame() |
Inicializa uma nova instância da classe BitmapFrame. |
Propriedades
| Nome | Description |
|---|---|
| BaseUri |
Quando substituído em uma classe derivada, obtém ou define um valor que representa a base Uri do contexto atual. |
| CanFreeze |
Obtém um valor que indica se o objeto pode ser tornado inmodificável. (Herdado de Freezable) |
| ColorContexts |
Quando substituído em uma classe derivada, obtém uma coleção de ColorContext objetos associados a isso BitmapFrame. |
| Decoder |
Quando substituído em uma classe derivada, obtém o decodificador associado a essa instância de BitmapFrame. |
| 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) |
| DpiX |
Obtém os pontos horizontais por polegada (dpi) da imagem. (Herdado de BitmapSource) |
| DpiY |
Obtém os pontos verticais por polegada (dpi) da imagem. (Herdado de BitmapSource) |
| Format |
Obtém o nativo PixelFormat dos dados de bitmap. (Herdado de BitmapSource) |
| 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) |
| Height |
Obtém a altura do bitmap de origem em unidades independentes do dispositivo (1/96 polegada por unidade). (Herdado de BitmapSource) |
| IsDownloading |
Obtém um valor que indica se o BitmapSource conteúdo está sendo baixado no momento. (Herdado de BitmapSource) |
| 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) |
| Metadata |
Obtém os metadados associados a essa imagem de bitmap. (Herdado de BitmapSource) |
| Palette |
Obtém a paleta de cores do bitmap, se for especificado. (Herdado de BitmapSource) |
| PixelHeight |
Obtém a altura do bitmap em pixels. (Herdado de BitmapSource) |
| PixelWidth |
Obtém a largura do bitmap em pixels. (Herdado de BitmapSource) |
| Thumbnail |
Quando substituído em uma classe derivada, obtém a imagem em miniatura associada a essa BitmapFrame. |
| Width |
Obtém a largura do bitmap em unidades independentes do dispositivo (1/96 polegada por unidade). (Herdado de BitmapSource) |
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) |
| CheckIfSiteOfOrigin() |
Verifica se o conteúdo de origem do bitmap é de um site de origem conhecido. Esse método é usado para garantir que as operações de cópia de pixel sejam seguras. (Herdado de BitmapSource) |
| 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 disso BitmapSource, fazendo cópias profundas dos valores desse objeto. Ao copiar propriedades de dependência, esse método copia referências de recurso e associações de dados (mas elas podem não resolver mais), mas não animações ou seus valores atuais. (Herdado de BitmapSource) |
| CloneCore(Freezable) |
Torna essa instância uma cópia profunda do especificado BitmapSource. Ao copiar propriedades de dependência, esse método copia referências de recurso e associações de dados (mas elas podem não resolver mais), mas não animações ou seus valores atuais. (Herdado de BitmapSource) |
| CloneCurrentValue() |
Cria um clone modificável desse BitmapSource objeto, fazendo cópias profundas dos valores atuais desse objeto. Referências de recursos, associações de dados e animações não são copiadas, mas seus valores atuais são. (Herdado de BitmapSource) |
| CloneCurrentValueCore(Freezable) |
Torna essa instância uma cópia profunda modificável do especificado BitmapSource usando valores de propriedade atuais. Referências de recursos, associações de dados e animações não são copiadas, mas seus valores atuais são. (Herdado de BitmapSource) |
| 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) |
| CopyPixels(Array, Int32, Int32) |
Copia os dados de pixel de bitmap em uma matriz de pixels com o passo especificado, começando no deslocamento especificado. (Herdado de BitmapSource) |
| CopyPixels(Int32Rect, Array, Int32, Int32) |
Copia os dados de pixel de bitmap dentro do retângulo especificado em uma matriz de pixels que tem o passo especificado começando no deslocamento especificado. (Herdado de BitmapSource) |
| CopyPixels(Int32Rect, IntPtr, Int32, Int32) |
Copia os dados de pixel de bitmap dentro do retângulo especificado. (Herdado de BitmapSource) |
| Create(BitmapSource, BitmapSource, BitmapMetadata, ReadOnlyCollection<ColorContext>) |
Cria um novo BitmapFrame de um determinado BitmapSource com a miniatura BitmapMetadataespecificada e ColorContext. |
| Create(BitmapSource, BitmapSource) |
Cria um novo BitmapFrame de um determinado BitmapSource com a miniatura especificada. |
| Create(BitmapSource) |
Cria um novo BitmapFrame de um determinado BitmapSource. |
| Create(Stream, BitmapCreateOptions, BitmapCacheOption) |
Cria um novo BitmapFrame de um determinado Stream com o especificado BitmapCreateOptions e BitmapCacheOption. |
| Create(Stream) |
Cria um novo BitmapFrame de um determinado Stream. |
| Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy) |
Cria um BitmapFrame de um determinado Uri com o especificado BitmapCreateOptions, BitmapCacheOptione RequestCachePolicy. |
| Create(Uri, BitmapCreateOptions, BitmapCacheOption) |
Cria um BitmapFrame de um determinado Uri com o especificado BitmapCreateOptions e BitmapCacheOption. |
| Create(Uri, RequestCachePolicy) |
Cria um BitmapFrame de um determinado Uri com o especificado RequestCachePolicy. |
| Create(Uri) |
Cria um novo BitmapFrame de um determinado Uri. |
| CreateInPlaceBitmapMetadataWriter() |
Quando substituído em uma classe derivada, cria uma instância de InPlaceBitmapMetadataWriter, que pode ser usada para associar metadados a um BitmapFrame. |
| 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 uma instância ou BitmapSource uma classe derivada imutável. (Herdado de BitmapSource) |
| 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 essa instância um clone do objeto especificado BitmapSource . (Herdado de BitmapSource) |
| 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 essa instância um clone congelado do especificado BitmapSource. Referências de recursos, associações de dados e animações não são copiadas, mas seus valores atuais são. (Herdado de BitmapSource) |
| 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() |
Cria uma representação de cadeia de caracteres desse objeto com base na cultura atual. (Herdado de ImageSource) |
| ToString(IFormatProvider) |
Cria uma representação de cadeia de caracteres desse objeto com base na IFormatProvider passagem. Se o provedor for |
| 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) |
| DecodeFailed |
Ocorre quando a imagem falha ao carregar, devido a um cabeçalho de imagem corrompido. (Herdado de BitmapSource) |
| DownloadCompleted |
Ocorre quando o conteúdo do bitmap foi completamente baixado. (Herdado de BitmapSource) |
| DownloadFailed |
Ocorre quando o conteúdo do bitmap não foi baixado. (Herdado de BitmapSource) |
| DownloadProgress |
Ocorre quando o progresso do download do conteúdo do bitmap é alterado. (Herdado de BitmapSource) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
Formata o valor da instância atual usando o formato especificado. (Herdado de ImageSource) |