Partilhar 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 fornecer um IRandomAccessStream.

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

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 (Joint Photographic Experts Group)
  • Png (Gráficos de Rede Portátil)
  • Bitmap (BMP)
  • Gif (formato de intercâmbio de elementos gráficos)
  • TIFF (Formato de Arquivo de Imagem Marcado)
  • 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 de 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 será decodificada 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 é imediatamente inicializada 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 de "versão da plataforma minum" 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 fonte da imagem original.

Métodos

Close()

Descarta o LoadedImageSurface e os recursos associados.

Dispose()

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

StartLoadFromStream(IRandomAccessStream, Size)

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

StartLoadFromStream(IRandomAccessStream)

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

StartLoadFromUri(Uri, Size)

Carrega uma imagem em um LoadedImageSurface do URI (Uniform Resource Identifier) 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 fonte da imagem.

Eventos

LoadCompleted

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

Aplica-se a

Confira também