Поделиться через


LoadedImageSurface Класс

Определение

Представляет поверхность композиции, на которую можно скачать, декодировать и загрузить изображение. Вы можете загрузить изображение с помощью универсального кода ресурса (URI), который ссылается на исходный файл изображения, или предоставить 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
Наследование
Object Platform::Object IInspectable LoadedImageSurface
Атрибуты
Реализации

Требования к Windows

Семейство устройств
Windows 10 Creators Update (появилось в 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v4.0)

Примеры

В этом примере показано, как загрузить изображение из локального URI на поверхность и использовать его в 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;

Комментарии

LoadedImageSurface можно получить из следующих форматов файлов изображений:

  • JPEG
  • PNG
  • Точечный рисунок (BMP)
  • GIF
  • TIFF
  • JPEG XR
  • Значки (ICO)

[! ПРИМЕЧАНИЕ] LoadedImageSurface не поддерживает анимированные GIF-изображения, поэтому будет отображаться только первый кадр анимированного GIF-файла.

Если источником изображения является поток, ожидается, что этот поток будет содержать файл изображения в одном из этих форматов.

Кодирование и декодирование LoadedImageSurface

Базовая поддержка кодека для файлов изображений предоставляется API компонента образов Windows (WIC) в Windows. Дополнительные сведения о конкретных форматах изображений, как описано в коде, см. в разделе Собственные кодеки WIC.

Используя один из фабричного метода, можно создать экземпляр LoadedImageSurface из разных типов источников изображений и управлять максимальным размером, в который декодирует изображение. Если максимальный размер не указан, изображение будет декодироваться до естественного размера.

Управление жизненным циклом объекта

Когда LoadedImageSurface создается с помощью одного из фабричного метода, базовая поверхность немедленно инициализируется размером 0x0 и содержимое изображения начинает скачивание и декодирование из потока пользовательского интерфейса. После успешного декодирования источника изображения он загружается на поверхность, а событие LoadCompleted запускается при заполнении поверхности. В процессе загрузки размер поверхности изменится с 0x0 до окончательного размера в зависимости от декодированного размера источника изображения.

LoadedImageSurface автоматически сохраняет все свои ресурсы, пока не потеряет окончательную ссылку. Однако вы можете явно удалить его ресурсы с помощью метода Close .

[! ПРИМЕЧАНИЕ. LoadedImageSurface недоступен до Windows 10 версии 1703. Если параметр "minum platform version" вашего приложения в Microsoft Visual Studio меньше , чем "введенная версия", показанная в блоке "Требования" далее на этой странице, этот класс использовать нельзя.

Свойства

DecodedPhysicalSize

Возвращает размер декодированного изображения в физических пикселях.

DecodedSize

Возвращает размер декодированного изображения в пикселях, независимых от устройства.

NaturalSize

Возвращает естественный размер изображения в физических пикселях, определенный в исходном источнике изображения.

Методы

Close()

Удаляет loadedImageSurface и связанные ресурсы.

Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

StartLoadFromStream(IRandomAccessStream)

Загружает изображение в LoadedImageSurface из предоставленного IRandomAccessStream в естественном размере, определенном в источнике изображения.

StartLoadFromStream(IRandomAccessStream, Size)

Загружает изображение в LoadedImageSurface из предоставленного IRandomAccessStream с требуемым максимальным размером.

StartLoadFromUri(Uri)

Загружает изображение в LoadedImageSurface из предоставленного универсального кода ресурса (URI) в естественном размере, определенном в источнике изображения.

StartLoadFromUri(Uri, Size)

Загружает изображение в LoadedImageSurface из предоставленного универсального кода ресурса (URI) с требуемым максимальным размером.

События

LoadCompleted

Происходит при скачивании, декодировании и загрузке изображения в базовый интерфейс ICompositionSurface.

Применяется к

См. также раздел