BitmapSource Classe

Definição

Representa um único conjunto constante de pixels em um determinado tamanho e resolução.

public ref class BitmapSource abstract : System::Windows::Media::ImageSource
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public abstract class BitmapSource : System.Windows.Media.ImageSource
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type BitmapSource = class
    inherit ImageSource
    interface DUCE.IResource
Public MustInherit Class BitmapSource
Inherits ImageSource
Herança
Derivado
Atributos

Exemplos

O exemplo de código a seguir demonstra como criar um BitmapSource e usá-lo como a origem de um Image controle.

// Define parameters used to create the BitmapSource.
PixelFormat pf = PixelFormats.Bgr32;
int width = 200;
int height = 200;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;
byte[] rawImage = new byte[rawStride * height];

// Initialize the image with data.
Random value = new Random();
value.NextBytes(rawImage);

// Create a BitmapSource.
BitmapSource bitmap = BitmapSource.Create(width, height,
    96, 96, pf, null,
    rawImage, rawStride);

// Create an image element;
Image myImage = new Image();
myImage.Width = 200;
// Set image source.
myImage.Source = bitmap;
' Define parameters used to create the BitmapSource.
Dim pf As PixelFormat = PixelFormats.Bgr32
Dim width As Integer = 200
Dim height As Integer = 200
Dim rawStride As Integer = CType((width * pf.BitsPerPixel + 7) / 8, Integer)
Dim rawImage(rawStride * height) As Byte

' Initialize the image with data.
Dim value As New Random()
value.NextBytes(rawImage)

' Create a BitmapSource.
Dim bitmap As BitmapSource = BitmapSource.Create(width, height, 96, 96, pf, Nothing, rawImage, rawStride)

' Create an image element;
Dim myImage As New Image()
myImage.Width = 200
' Set image source.
myImage.Source = bitmap

O exemplo de código a seguir usa uma BitmapSource classe derivada, BitmapImagepara criar um bitmap de um arquivo de imagem e usá-lo como a origem de um Image controle.

// Create the image element.
Image simpleImage = new Image();    
simpleImage.Width = 200;
simpleImage.Margin = new Thickness(5);

// Create source.
BitmapImage bi = new BitmapImage();
// BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit();
bi.UriSource = new Uri(@"/sampleImages/cherries_larger.jpg",UriKind.RelativeOrAbsolute);
bi.EndInit();
// Set the image source.
simpleImage.Source = bi;
' Create the image element.
Dim simpleImage As New Image()
simpleImage.Width = 200
simpleImage.Margin = New Thickness(5)

' Create source.
Dim bi As New BitmapImage()
' BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit()
bi.UriSource = New Uri("/sampleImages/cherries_larger.jpg", UriKind.RelativeOrAbsolute)
bi.EndInit()
' Set the image source.
simpleImage.Source = bi

Comentários

BitmapSource é o bloco de construção básico do pipeline de imagem Windows Presentation Foundation (WPF), representando conceitualmente um único conjunto constante de pixels em um determinado tamanho e resolução. Um BitmapSource pode ser um único quadro em um arquivo de imagem que um decodificador fornece ou pode ser o resultado de uma transformação que opera por BitmapSource conta própria. BitmapSource não é usado para representar uma imagem de vários quadros ou uma animação.

Windows Presentation Foundation (WPF) dá suporte nativo à compactação e descompactação de bitmap (BMP), GIF (Formato de Intercâmbio Gráfico), JPEG (Joint Photographics Experts Group), PNG (Portable Network Graphics) e imagens TIFF (Tagged Image File Format).

Para cenários de decodificação de bitmap, BitmapSource usa a descoberta automática de codec, com base nos codecs instalados no sistema do usuário.

A altura máxima e largura de uma imagem é de 2^16 pixels a 32 bits por canal * 4 canais. O tamanho máximo de um BitmapSource é de 2^32 bytes (64 gigabytes) e o tamanho máximo da imagem é de quatro gigapixels. O tamanho mínimo da imagem é 1x1.

Construtores

Nome Description
BitmapSource()

Inicializa uma nova instância da classe BitmapSource.

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

Obtém os pontos horizontais por polegada (dpi) da imagem.

DpiY

Obtém os pontos verticais por polegada (dpi) da imagem.

Format

Obtém o nativo PixelFormat dos dados de bitmap.

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

IsDownloading

Obtém um valor que indica se o BitmapSource conteúdo está sendo baixado no momento.

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.

Palette

Obtém a paleta de cores do bitmap, se for especificado.

PixelHeight

Obtém a altura do bitmap em pixels.

PixelWidth

Obtém a largura do bitmap em pixels.

Width

Obtém a largura do bitmap em unidades independentes do dispositivo (1/96 polegada por unidade).

Métodos

Nome Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Aplica-se a AnimationClockum DependencyProperty . Se a propriedade já estiver animada, a especificada HandoffBehavior será usada.

(Herdado de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Aplica-se a AnimationClockum DependencyProperty . 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.

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.

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.

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.

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.

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.

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.

CopyPixels(Int32Rect, IntPtr, Int32, Int32)

Copia os dados de pixel de bitmap dentro do retângulo especificado.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)

Cria um novo BitmapSource de uma matriz de pixels.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32)

Cria um novo BitmapSource de uma matriz de pixels que são armazenados na memória não gerenciada.

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 true.

(Herdado de Freezable)
FreezeCore(Boolean)

Torna uma instância ou BitmapSource uma classe derivada imutável.

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 .

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.

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 null, ele CurrentCulture será usado.

(Herdado de ImageSource)
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.

DownloadCompleted

Ocorre quando o conteúdo do bitmap foi completamente baixado.

DownloadFailed

Ocorre quando o conteúdo do bitmap não foi baixado.

DownloadProgress

Ocorre quando o progresso do download do conteúdo do bitmap é alterado.

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)

Aplica-se a

Confira também