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
- Наследование
- Атрибуты
- Реализации
Требования к 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 из разных типов источников изображений и управлять максимальным размером, в который декодирует изображение. Если максимальный размер не указан, изображение будет декодироваться до естественного размера.
- StartLoadFromUri(URI)
- StartLoadFromUri(Uri, Size)
- StartLoadFromStream(IRandomAccessStream)
- StartLoadFromStream(IRandomAccessStream, Size)
Управление жизненным циклом объекта
Когда 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. |