Compartilhar via


LoadedImageSurface Classe

Definição

Representa uma superfície de composição na qual uma imagem pode ser baixada, decodificada e carregada. Você pode carregar uma imagem usando um URI (Uniform Resource Identifier) que faz referência a um arquivo de origem de imagem ou fornecendo um IRandomAccessStream.

public ref class LoadedImageSurface sealed : IClosable, ICompositionSurface
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class LoadedImageSurface final : IClosable, ICompositionSurface
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class LoadedImageSurface : System.IDisposable, ICompositionSurface
Public NotInheritable Class LoadedImageSurface
Implements ICompositionSurface, IDisposable
Herança
Object Platform::Object IInspectable LoadedImageSurface
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows 10 Creators Update (introduzida na 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v4.0)

Exemplos

Este exemplo mostra como carregar uma imagem de um URI local em uma superfície e usá-la em um CompositionSurfaceBrush.

Compositor compositor = new Compositor();
CompositionSurfaceBrush imageBrush = compositor.CreateSurfaceBrush();

LoadedImageSurface loadedSurface = LoadedImageSurface.StartLoadFromUri(new Uri("ms-appx:///Assets/myPic.jpg"), new Size(200.0, 400.0));

// The loadedSurface currently has a size of 0x0 since it has not been downloaded, decoded and loaded to the surface yet
imageBrush.Surface = loadedSurface;

Comentários

Um LoadedImageSurface pode ser originado destes formatos de arquivo de imagem:

  • JPEG
  • PNG
  • BMP (Bitmap)
  • GIF
  • TIFF
  • JPEG XR
  • Ícones (ICO)

[! OBSERVAÇÃO] LoadedImageSurface não dá suporte a imagens GIF animadas, portanto, somente o primeiro quadro de um GIF animado será mostrado.

Se a origem da imagem for um fluxo, espera-se que esse fluxo contenha um arquivo de imagem em um desses formatos.

Codificação e decodificação loadedImageSurface

O suporte de codec subjacente para arquivos de imagem é fornecido pela API wic (componente de imagem do Windows) no Windows. Para obter mais informações sobre formatos de imagem específicos, conforme documentado para os códigos, consulte Codecs wic nativos.

Usando um dos métodos de fábrica, você pode criar uma instância de LoadedImageSurface de diferentes tipos de fontes de imagem e controlar o tamanho máximo em que a imagem decodifica. Se nenhum tamanho máximo for especificado, a imagem decodificará para seu tamanho natural.

Gerenciamento de tempo de vida

Quando um LoadedImageSurface é criado usando um dos métodos de fábrica, a superfície subjacente é inicializada imediatamente para um tamanho de 0x0 e o conteúdo da imagem começa a baixar e decodificar do thread da interface do usuário. Quando a origem da imagem foi decodificada com êxito, ela é carregada na superfície e o evento LoadCompleted é acionado quando a superfície é preenchida. Durante o processo de carregamento, a superfície será redimensionada de 0x0 para seu tamanho final com base no tamanho decodificado da origem da imagem.

LoadedImageSurface retém automaticamente todos os seus recursos até perder sua referência final. No entanto, você pode descartar explicitamente seus recursos por meio do método Close .

[! OBSERVAÇÃO] LoadedImageSurface não está disponível antes do Windows 10, versão 1703. Se a configuração "minum platform version" do aplicativo no Microsoft Visual Studio for menor que a "versão introduzida" mostrada no bloco Requisitos posteriormente nesta página, você não poderá usar essa classe.

Propriedades

DecodedPhysicalSize

Obtém o tamanho da imagem decodificada em pixels físicos.

DecodedSize

Obtém o tamanho da imagem decodificada em pixels independentes do dispositivo.

NaturalSize

Obtém o tamanho natural da imagem em pixels físicos, que é definido na origem da imagem original.

Métodos

Close()

Descarta os recursos LoadedImageSurface e associados.

Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

StartLoadFromStream(IRandomAccessStream)

Carrega uma imagem em um LoadedImageSurface do IRandomAccessStream fornecido no tamanho natural definido na origem da imagem.

StartLoadFromStream(IRandomAccessStream, Size)

Carrega uma imagem em um LoadedImageSurface do IRandomAccessStream fornecido com o tamanho máximo desejado.

StartLoadFromUri(Uri)

Carrega uma imagem em um LoadedImageSurface do URI (Uniform Resource Identifier) fornecido no tamanho natural definido na origem da imagem.

StartLoadFromUri(Uri, Size)

Carrega uma imagem em um LoadedImageSurface do URI (Uniform Resource Identifier) fornecido com o tamanho máximo desejado.

Eventos

LoadCompleted

Ocorre quando a imagem foi baixada, decodificada e carregada no ICompositionSurface subjacente.

Aplica-se a

Confira também