LoadedImageSurface Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет область композиции, на которую можно скачать, декодировать и загрузить изображение. Изображение можно загрузить с помощью универсального идентификатора ресурса (URI), который ссылается на исходный файл образа или предоставить 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
- Наследование
- Атрибуты
- Реализации
Примеры
В этом примере показано, как загрузить изображение из локального 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, Size) |
Загружает изображение в LoadedImageSurface из предоставленного IRandomAccessStream с требуемым максимальным размером. |
StartLoadFromStream(IRandomAccessStream) |
Загружает изображение на LoadedImageSurface из предоставленного IRandomAccessStream по естественному размеру, определенному в источнике изображения. |
StartLoadFromUri(Uri, Size) |
Загружает изображение в LoadedImageSurface из предоставленного универсального идентификатора ресурса (URI) с требуемым максимальным размером. |
StartLoadFromUri(Uri) |
Загружает изображение в LoadedImageSurface из предоставленного универсального идентификатора ресурса (URI) по естественному размеру, определенному в источнике изображения. |
События
LoadCompleted |
Происходит при скачивании, декодировании и загрузке образа в базовый ICompositionSurface. |