BitmapSource Classe

Definição

Representa um único conjunto constante de píxeis com 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 seguinte demonstra como criar um BitmapSource e usá-lo como fonte de controlo Image .

// 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 seguinte exemplo de código usa uma BitmapSource classe derivada, BitmapImage, para criar um bitmap a partir de um ficheiro de imagem e usá-lo como fonte de um Image controlo.

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

Observações

BitmapSource é o bloco básico do pipeline de imagem Windows Presentation Foundation (WPF), representando conceptualmente um conjunto único e constante de píxeis a um determinado tamanho e resolução. A BitmapSource pode ser um único frame num ficheiro de imagem fornecido por um descodificador, ou pode ser o resultado de uma transformação que opera por BitmapSource si só. BitmapSource não é usado para representar uma imagem multiframe ou uma animação.

O Windows Presentation Foundation (WPF) suporta nativamente compressão e descompressão de imagens bitmap (BMP), Graphics Interchange Format (GIF), Joint Photographics Experts Group (JPEG), Portable Network Graphics (PNG) e Tagged Image File Format (TIFF).

Para cenários de descodificação bitmap, BitmapSource utiliza a descoberta automática de codecs, baseada nos codecs instalados no sistema do utilizador.

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

Construtores

Name Description
BitmapSource()

Inicializa uma nova instância da BitmapSource classe.

Propriedades

Name 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 envolve o tipo CLR desta instância.

(Herdado de DependencyObject)
Dispatcher

Percebe o Dispatcher que isto 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 os dados nativos PixelFormat do bitmap.

HasAnimatedProperties

Obtém um valor que indica se um ou mais AnimationClock objetos estão associados a alguma das propriedades de dependência deste objeto.

(Herdado de Animatable)
Height

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

IsDownloading

Recebe um valor que indica se o BitmapSource conteúdo está a ser descarregado no momento.

IsFrozen

Recebe um valor que indica se o objeto é atualmente modificável.

(Herdado de Freezable)
IsSealed

Recebe um valor que indica se esta instância está atualmente selada (apenas leitura).

(Herdado de DependencyObject)
Metadata

Obtém os metadados associados a esta imagem bitmap.

Palette

Obtém a paleta de cores do bitmap, se for 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 de polegada por unidade).

Métodos

Name Description
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Aplica-se a AnimationClock um ao especificado DependencyProperty. Se a propriedade já estiver animada, utiliza-se a especificada HandoffBehavior .

(Herdado de Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock)

Aplica-se a AnimationClock um ao especificado DependencyProperty. Se a propriedade já estiver animada, utiliza-se o SnapshotAndReplace comportamento de handoff.

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

Aplica uma animação ao especificado DependencyProperty. A animação é iniciada quando o frame seguinte é renderizado. Se a propriedade especificada já estiver animada, é usada a especificada HandoffBehavior .

(Herdado de Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Aplica uma animação ao especificado DependencyProperty. A animação é iniciada quando o frame seguinte é renderizado. Se a propriedade especificada já estiver animada, utiliza-se o SnapshotAndReplace comportamento de handoff.

(Herdado de Animatable)
CheckAccess()

Determina se o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
CheckIfSiteOfOrigin()

Verifica se o conteúdo de origem do bitmap é de um local de origem conhecido. Este método é utilizado para garantir que as operações de cópia de píxeis são seguras.

ClearValue(DependencyProperty)

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

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade de apenas leitura. O imóvel a ser limpo é especificado por um DependencyPropertyKey.

(Herdado de DependencyObject)
Clone()

Cria um clone modificável deste BitmapSource, fazendo cópias profundas dos valores deste objeto. Ao copiar propriedades de dependência, este método copia referências de recursos e ligações de dados (mas podem deixar de se resolver), mas não as animações nem os seus valores atuais.

CloneCore(Freezable)

Faz desta instância uma cópia profunda do especificado BitmapSource. Ao copiar propriedades de dependência, este método copia referências de recursos e ligações de dados (mas podem deixar de se resolver), mas não as animações nem os seus valores atuais.

CloneCurrentValue()

Cria um clone modificável deste BitmapSource objeto, fazendo cópias profundas dos valores atuais desse objeto. Referências de recursos, ligações de dados e animações não são copiadas, mas os seus valores atuais são.

CloneCurrentValueCore(Freezable)

Faz desta instância uma cópia profunda modificável do especificado BitmapSource usando valores atuais da propriedade. Referências de recursos, ligações de dados e animações não são copiadas, mas os seus valores atuais são.

CoerceValue(DependencyProperty)

Coage o valor da propriedade de dependência especificada. Isto é conseguido invocando qualquer CoerceValueCallback função especificada nos metadados da propriedade para a propriedade de dependência tal como existe na chamada DependencyObject.

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

Copia os dados do pixel bitmap para um array de píxeis com o passo especificado, começando no deslocamento especificado.

CopyPixels(Int32Rect, Array, Int32, Int32)

Copia os dados do pixel bitmap dentro do retângulo especificado numa matriz de píxeis que tem o passo especificado a partir do deslocamento especificado.

CopyPixels(Int32Rect, IntPtr, Int32, Int32)

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

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

Cria um novo BitmapSource a partir de um array de pixels.

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

Cria um novo BitmapSource a partir de um array de pixels que estão armazenados em memória não gerida.

CreateInstance()

Inicializa uma nova instância da Freezable classe.

(Herdado de Freezable)
CreateInstanceCore()

Quando implementado numa classe derivada, cria-se uma nova instância da Freezable classe derivada.

(Herdado de Freezable)
Equals(Object)

Determina se um fornecido DependencyObject é equivalente à corrente DependencyObject.

(Herdado de DependencyObject)
Freeze()

Torna o objeto atual immodificável e define a sua IsFrozen propriedade como true.

(Herdado de Freezable)
FreezeCore(Boolean)

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

GetAnimationBaseValue(DependencyProperty)

Devolve o valor não animado do especificado DependencyProperty.

(Herdado de Animatable)
GetAsFrozen()

Cria uma cópia congelada do Freezable, usando valores base (não animados) da propriedade. Como a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetAsFrozenCore(Freezable)

Faz desta instância um clone do objeto especificado BitmapSource .

GetCurrentValueAsFrozen()

Cria uma cópia congelada do Freezable usando os valores atuais das propriedades. Como a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Faz desta instância um clone congelado do especificado BitmapSource. Referências de recursos, ligações de dados e animações não são copiadas, mas os seus valores atuais são.

GetHashCode()

Obtém um código de hash para isto DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais as propriedades de dependência que têm valores localmente definidos neste DependencyObject.

(Herdado de DependencyObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValue(DependencyProperty)

Devolve 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 atual Object.

(Herdado de Object)
OnChanged()

Chamada quando o objeto atual Freezable é modificado.

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

Este membro suporta a infraestrutura Windows Presentation Foundation (WPF) e não foi concebido para ser usado diretamente a partir do seu código.

(Herdado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Assegura que os apontadores de contexto apropriados são estabelecidos para um DependencyObjectType membro de dados que acabou de ser definido.

(Herdado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

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

(Herdado de Freezable)
ReadLocalValue(DependencyProperty)

Devolve o valor local de uma propriedade de dependência, se esta existir.

(Herdado de DependencyObject)
ReadPreamble()

Garante que está a ser acedido Freezable a partir de um thread válido. Os herdeiros de Freezable devem chamar este método no início de qualquer API que leia 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 a sua fonte de valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificado pelo seu identificador de propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor local de uma propriedade de dependência somente de leitura, especificado pelo DependencyPropertyKey identificador da propriedade de dependência.

(Herdado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devolve 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 em cadeia deste objeto com base na cultura atual.

(Herdado de ImageSource)
ToString(IFormatProvider)

Cria uma representação string deste objeto com base no IFormatProvider passed in. Se o fornecedor for null, o CurrentCulture é utilizado.

(Herdado de ImageSource)
VerifyAccess()

Faz cumprir que o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
WritePostscript()

Eleva o Changed evento para o Freezable e invoca o seu OnChanged() método. As classes que derivam de Freezable devem chamar este método no final de qualquer API que modifique membros de classe que não estejam armazenados como propriedades de dependência.

(Herdado de Freezable)
WritePreamble()

Verifica se o Freezable não está congelado e que está a ser acedido a partir de um contexto de threading válido. Freezable os herdeiros devem chamar este método no início de qualquer API que escreva para membros de dados que não sejam propriedades de dependência.

(Herdado de Freezable)

evento

Name Description
Changed

Ocorre quando o Freezable ou um objeto que contém é modificado.

(Herdado de Freezable)
DecodeFailed

Ocorre quando a imagem não carrega, devido a um cabeçalho de imagem corrompido.

DownloadCompleted

Ocorre quando o conteúdo bitmap foi completamente descarregado.

DownloadFailed

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

DownloadProgress

Ocorre quando o progresso de download do conteúdo bitmap mudou.

Implementações de Interface Explícita

Name Description
IFormattable.ToString(String, IFormatProvider)

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

(Herdado de ImageSource)

Aplica-se a

Ver também