Plugin.Maui.Spine.Images
0.1.18
dotnet add package Plugin.Maui.Spine.Images --version 0.1.18
NuGet\Install-Package Plugin.Maui.Spine.Images -Version 0.1.18
<PackageReference Include="Plugin.Maui.Spine.Images" Version="0.1.18" />
<PackageVersion Include="Plugin.Maui.Spine.Images" Version="0.1.18" />
<PackageReference Include="Plugin.Maui.Spine.Images" />
paket add Plugin.Maui.Spine.Images --version 0.1.18
#r "nuget: Plugin.Maui.Spine.Images, 0.1.18"
#:package Plugin.Maui.Spine.Images@0.1.18
#addin nuget:?package=Plugin.Maui.Spine.Images&version=0.1.18
#tool nuget:?package=Plugin.Maui.Spine.Images&version=0.1.18
Plugin.Maui.Spine.Images
Remote images for .NET MAUI that stay light in a long list. Every UriImageSource goes through it once the package is installed, with no change to the markup:
- iOS and Mac Catalyst: a memory cache (
NSCache) and a disk cache, and decoding with ImageIO at the size the view shows, off the main thread. MAUI decodes every image at full size on the main thread and keeps no memory cache. - Windows: a disk cache and decoding at the view's size. MAUI caches nothing there.
- Android: MAUI's Glide cache stays; the package adds prefetching and clearing on it.
- Everywhere:
IImageCacheto prefetch, check and clear, and BlurHash placeholders that show at once while an image loads.
dotnet add package Plugin.Maui.Spine.Images
UseSpine() registers it. Without Spine's core, call builder.UseSpineImages(); before or after UseMauiApp, the order does not matter.
<Image Source="{Binding PhotoUrl}"
ImageOptions.BlurHash="{Binding PhotoHash}"
Aspect="AspectFill" HeightRequest="120" />
public class GamesViewModel(IImageCache images)
{
// Tomorrow's logos, on disk before the list needs them
Task Prefetch(IEnumerable<Game> games) => images.PrefetchAsync(games.Select(g => g.LogoUrl));
}
BlurHash.Encode and BlurHash.Decode live in Plugin.Maui.Spine.Common, so a server can compute the hash on upload without an image library of its own.
Platforms: Android, iOS, Mac Catalyst and Windows; net10.0 holds only the platform-neutral disk cache, for tests.
Documentation
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-android36.0 is compatible. net10.0-browser was computed. net10.0-ios was computed. net10.0-ios26.0 is compatible. net10.0-maccatalyst was computed. net10.0-maccatalyst26.0 is compatible. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. net10.0-windows10.0.19041 is compatible. |
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.0)
- Plugin.Maui.Spine.Common (>= 0.1.18)
-
net10.0-android36.0
- Microsoft.Maui.Controls (>= 10.0.50)
- Plugin.Maui.Spine.Common (>= 0.1.18)
-
net10.0-ios26.0
- Microsoft.Maui.Controls (>= 10.0.50)
- Plugin.Maui.Spine.Common (>= 0.1.18)
-
net10.0-maccatalyst26.0
- Microsoft.Maui.Controls (>= 10.0.50)
- Plugin.Maui.Spine.Common (>= 0.1.18)
-
net10.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 10.0.50)
- Plugin.Maui.Spine.Common (>= 0.1.18)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.