Partilhar via


BitmapSource Classe

Definição

Representa um único e constante conjunto 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
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
type BitmapSource = class
    inherit ImageSource
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, BitmapImage, para 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 geração de imagens do WPF (Windows Presentation Foundation), que representa 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 imagens BMP (bitmap), GIF (Graphics Interchange Format), JPEG (Joint Photographics Experts Group), PNG (Portable Network Graphics) e TIFF (Tagged Image File Format).

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

A altura máxima e a largura de uma imagem são 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

BitmapSource()

Inicializa uma nova instância da classe BitmapSource.

Propriedades

CanFreeze

Obtém um valor que indica se o objeto pode se tornar não modificá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 ao qual este 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 PixelFormat nativo dos dados de bitmap.

HasAnimatedProperties

Obtém um valor que indica se um ou mais objetos AnimationClock está associado a qualquer uma das propriedades de dependência do 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 conteúdo BitmapSource está sendo baixado no momento.

IsFrozen

Obtém um valor que indica se o objeto pode ser modificado no momento.

(Herdado de Freezable)
IsSealed

Obtém um valor que indica se essa instância está validada no momento (somente leitura).

(Herdado de DependencyObject)
Metadata

Obtém os metadados associados a esta imagem de bitmap.

Palette

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

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

ApplyAnimationClock(DependencyProperty, AnimationClock)

Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já tiver sido animada, o comportamento de entrega de SnapshotAndReplace será usado.

(Herdado de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Aplica um AnimationClock ao DependencyProperty especificado. Se a propriedade já for animada, o HandoffBehavior especificado será usado.

(Herdado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica uma animação ao DependencyProperty especificado. A animação é iniciada quando o próximo quadro for renderizado. Se a propriedade especificada já tiver sido animada, o comportamento de entrega de SnapshotAndReplace será usado.

(Herdado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Aplica uma animação ao DependencyProperty especificado. A animação é iniciada quando o próximo quadro for renderizado. Se a propriedade especifica já for animada, o HandoffBehavior especificado será usado.

(Herdado de Animatable)
CheckAccess()

Determina se o thread de chamada tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
CheckIfSiteOfOrigin()

Verifica se o conteúdo de origem de bitmap é de um site conhecido de origem. Esse método é usado para certificar-se de que essas operações de cópia de pixel são seguras.

ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade. A propriedade a ser limpa é especificada por um identificador DependencyProperty.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade somente leitura. A propriedade a ser limpa é especificada por um DependencyPropertyKey.

(Herdado de DependencyObject)
Clone()

Cria um clone modificável desse BitmapSource, fazendo cópias em profundidade dos valores do objeto. Ao copiar as propriedades de dependência, esse método copia associações de dados e referências de recurso (mas eles não podem mais resolver), mas não animações ou seus valores atuais.

CloneCore(Freezable)

Torna essa instância uma cópia profunda do BitmapSource especificado. Ao copiar as propriedades de dependência, esse método copia associações de dados e referências de recurso (mas eles não podem mais resolver), mas não animações ou seus valores atuais.

CloneCurrentValue()

Cria um clone modificável desse objeto BitmapSource, fazendo cópias em profundidade dos valores do objeto atual. Referências a recursos, vinculaçõ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 em profundidade modificável do BitmapSource especificado usando os valores de propriedade atuais. Referências a recursos, vinculações de dados e animações não são copiadas, mas seus valores atuais são.

CoerceValue(DependencyProperty)

Converte o valor da propriedade de dependência especificada. Isso é feito invocando qualquer função CoerceValueCallback especificada nos metadados de propriedade para a propriedade de dependência, visto que ela existe na chamada a DependencyObject.

(Herdado de DependencyObject)
CopyPixels(Array, Int32, Int32)

Copia os dados de pixel de bitmap para a matriz de pixes que tem a distância especificada, começando no deslocamento especificado.

CopyPixels(Int32Rect, Array, Int32, Int32)

Copia os dados de pixel de bitmap no retângulo especificado em uma matriz de pixels que tem a distância especificada começando no deslocamento especificado.

CopyPixels(Int32Rect, IntPtr, Int32, Int32)

Copia os dados de pixel do 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 com base em uma matriz de pixels 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 classe derivada Freezable.

(Herdado de Freezable)
Equals(Object)

Determina se um DependencyObject fornecido é equivalente ao DependencyObject atual.

(Herdado de DependencyObject)
Freeze()

Torna o objeto atual não modificável e define sua propriedade IsFrozen para true.

(Herdado de Freezable)
FreezeCore(Boolean)

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

GetAnimationBaseValue(DependencyProperty)

Retorna o valor não animado do DependencyProperty especificado.

(Herdado de Animatable)
GetAsFrozen()

Cria uma cópia congelada o Freezable usando valores de propriedade base (não animadas). Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetAsFrozenCore(Freezable)

Torna essa instância um clone do objeto BitmapSource especificado.

GetCurrentValueAsFrozen()

Cria uma cópia congelada do Freezable usando valores de propriedade atuais. Já que a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Torna essa instância um clone congelado do BitmapSource especificado. Referências a recursos, vinculações de dados e animações não são copiadas, mas seus valores atuais são.

GetHashCode()

Obtém o código hash para esse DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais propriedades de dependência têm valores definidos localmente nessa 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 nessa instância de um DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo para a propriedade de dependência especificada.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnChanged()

Chamado quando o objeto Freezable atual é modificado.

(Herdado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Garante que os ponteiros de contexto apropriados sejam estabelecidos para um membro de dados DependencyObjectType que foi recém-definido.

(Herdado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Esse membro dá suporte à infraestrutura de Windows Presentation Foundation (WPF) e não se destina a ser usado diretamente do seu código.

(Herdado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Substitui a implementação DependencyObject de OnPropertyChanged(DependencyPropertyChangedEventArgs) para também invocar quaisquer manipuladores Changed em resposta à alteração de uma propriedade de dependência do tipo Freezable.

(Herdado de Freezable)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, local, se houver.

(Herdado de DependencyObject)
ReadPreamble()

Garante que o Freezable esteja sendo acessado de um thread válido. Herdeiros do Freezable devem chamar esse método no início de qualquer API que lê membros de dados que não são propriedades de dependência.

(Herdado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Define o valor da propriedade de dependência sem alterar a origem do valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificada pelo identificador da propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor de uma propriedade de dependência somente leitura, especificada pelo identificador DependencyPropertyKey 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 passada. Se o provedor for null, o CurrentCulture será usado.

(Herdado de ImageSource)
VerifyAccess()

Impõe que o thread de chamada tenha acesso a este DispatcherObject.

(Herdado de DispatcherObject)
WritePostscript()

Aciona o evento Changed para o Freezable e invoca o respectivo método OnChanged(). Classes que derivam de Freezable devem chamar este método no final de qualquer API que modifica os membros de 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 está sendo acessado de um contexto de threading válido. Herdeiros do Freezable 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

Changed

Ocorre quando o Freezable ou um objeto nele contido é modificado.

(Herdado de Freezable)
DecodeFailed

Ocorre há uma falha de carregamento da imagem devido a um cabeçalho da imagem corrompido.

DownloadCompleted

Ocorre após o download completo do conteúdo do bitmap.

DownloadFailed

Ocorre quando há falha no download do conteúdo do bitmap.

DownloadProgress

Ocorre quando há alteração no andamento do download do conteúdo do bitmap.

Implantações explícitas de interface

IFormattable.ToString(String, IFormatProvider)

Formata o valor da instância atual usando o formato especificado.

(Herdado de ImageSource)

Aplica-se a

Confira também