FFImageLoading.Maui
1.1.8
Prefix Reserved
See the version list below for details.
dotnet add package FFImageLoading.Maui --version 1.1.8
NuGet\Install-Package FFImageLoading.Maui -Version 1.1.8
<PackageReference Include="FFImageLoading.Maui" Version="1.1.8" />
paket add FFImageLoading.Maui --version 1.1.8
#r "nuget: FFImageLoading.Maui, 1.1.8"
// Install FFImageLoading.Maui as a Cake Addin #addin nuget:?package=FFImageLoading.Maui&version=1.1.8 // Install FFImageLoading.Maui as a Cake Tool #tool nuget:?package=FFImageLoading.Maui&version=1.1.8
FFImageLoading.Maui - Fast & Furious Image Loading for .NET MAUI
Forked from the amazingly popular original FFImageLoading Library, this Compat version FFImageLoading.Compat aims to ease your migration from Xamarin.Forms to .NET MAUI with a compatible implementation to get you up and running without rewriting the parts of your app that relied on the original library.
This Maui version which merges all Transformations & SVG library parts into ONE and is migrated from FFImageLoading.Compat aims to fix some critical bugs and gives you a place to submit Maui releated issues.
The Most CRITICAL bugs it aims to fix:
- [Fixed in 1.0.1][iOS] App Reloading Bug. (When a page contains a CachedImage which use local image file as LoadingPlaceholder, after tombstone the app to background and then recover it to forground, the app will be reloaded to the home page)
- [Fixed in 1.0.3][iOS] Google webp format image support. (It works in Xamarin.Forms version, but not in FFImageLoading.Compat)
- [Fixed in 1.0.7][Windows] Local images files will not show on Windows.
Thanks to the Original Authors: Daniel Luberda, Fabien Molinet & Redth.
Usage
- Install NuGet package: FFImageLoading.Maui
- Add
.UseFFImageLoading()
to your MAUI app builder.
public static class MauiProgram
{
public static MauiApp CreateMauiApp()
{
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseFFImageLoading()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
});
return builder.Build();
}
}
- Add
xmlns:ffimageloading="clr-namespace:FFImageLoading.Maui;assembly=FFImageLoading.Maui"
to your MAUI Xaml page references. - Add
<ffimageloading:CachedImage Source="xxx.jpg"></ffimageloading:CachedImage>
to display image.
Support platforms
- Android
- iOS
- MacCatalyst
- Windows
Features
- .NET MAUI (iOS, MacCatalyst, Android, Windows) support
- Configurable disk and memory caching
- Multiple image views using the same image source (url, path, resource) will use only one bitmap which is cached in memory (less memory usage)
- Deduplication of similar download/load requests. (If 100 similar requests arrive at same time then one real loading will be performed while 99 others will wait).
- Error and loading placeholders support
- Images can be automatically downsampled to specified size (less memory usage)
- Fluent API which is inspired by Picasso naming
- SVG / WebP / GIF support
- Image loading Fade-In animations support
- Can retry image downloads (RetryCount, RetryDelay)
- Android bitmap optimization. Saves 50% of memory by trying not to use transparency channel when possible.
- Transformations support
- BlurredTransformation
- CircleTransformation, RoundedTransformation, CornersTransformation, CropTransformation
- ColorSpaceTransformation, GrayscaleTransformation, SepiaTransformation, TintTransformation
- FlipTransformation, RotateTransformation
- Supports custom transformations (native platform
ITransformation
implementations)
Original Library Documentation
[Xamarin]https://github.com/luberda-molinet/FFImageLoading
[Maui]https://github.com/Redth/FFImageLoading.Compat
Release Notes
1.1.8
1.Fix Customising the HttpClient does not seem to have any effect #26 (All Platforms) (Thanks Reported by https://github.com/apoorvadixit-ttc)
1.1.6
1.Fix Potential race condition during loading of image source and LoadingPlaceholder #24 (Android) (Thanks Reported by https://github.com/EvgenyMuryshkin)
1.1.5
1.Fix Broken CachedImage scaling on Android #22 (Sync to iOS/MacOs/Windows) (Thanks Reported by https://github.com/rafalka)
2.Add GIF & Webp image support for Windows. (Transparent background GIF currently unsupported. HELP NEEDED!)
1.1.2
1.Fix Android app is continue to load the same image. #21 (Thanks Reported by https://github.com/BoungSeokKim)
1.1.1
1.Fix DiskCache is null within the ImageService object. (Thanks Reported by https://github.com/kpespisa)
1.1.0
1.Fix Windows Application start up crash when DispatcherQueue in MainThreadDispatcher is null.
1.0.9
1.Fix Local file images do not appear when DownsampleToViewSize is set to true (Thanks Reported by https://github.com/CraigTenn)
1.0.8
1.Fix AspectFill images with an implicit height (Thanks PR by https://github.com/brendan-holly-modea)
1.0.7
1.Use Svg.Skia instead of custom code. (Thanks PR by https://github.com/PavloLukianets)
2.Fix Android MemoryCache re-creation issue. (Thanks PR by https://github.com/MichaelFrenkel)
3.Fixed NRE on ImageService caused before ready. (Thanks PR by https://github.com/NishiokaTakeo)
4.Fixed Local images files will not show on Windows. (Thanks Reported by https://github.com/Inrego)
5.Fixed AspectFill not working on Android for CachedImage control. (Thanks Reported by https://github.com/brendan-holly-modea)
6.Add Sample.Win project file.
1.0.5
1.Add .NET 8 support.
1.0.3
1.Fix Webp image not showing Bug.
1.0.1
1.Fix App Reloading Bug.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net7.0 is compatible. net7.0-android was computed. net7.0-android33.0 is compatible. net7.0-ios was computed. net7.0-ios16.1 is compatible. net7.0-maccatalyst was computed. net7.0-maccatalyst16.1 is compatible. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net7.0-windows10.0.19041 is compatible. net8.0 is compatible. net8.0-android was computed. net8.0-android34.0 is compatible. net8.0-browser was computed. net8.0-ios was computed. net8.0-ios17.2 is compatible. net8.0-maccatalyst was computed. net8.0-maccatalyst17.2 is compatible. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows10.0.19041 is compatible. |
-
net7.0
- Svg.Skia (>= 1.0.0.10)
-
net7.0-android33.0
- Svg.Skia (>= 1.0.0.10)
-
net7.0-ios16.1
- Svg.Skia (>= 1.0.0.10)
-
net7.0-maccatalyst16.1
- Svg.Skia (>= 1.0.0.10)
-
net7.0-windows10.0.19041
- Svg.Skia (>= 1.0.0.10)
-
net8.0
- Svg.Skia (>= 1.0.0.10)
-
net8.0-android34.0
- Svg.Skia (>= 1.0.0.10)
-
net8.0-ios17.2
- Svg.Skia (>= 1.0.0.10)
-
net8.0-maccatalyst17.2
- Svg.Skia (>= 1.0.0.10)
-
net8.0-windows10.0.19041
- Svg.Skia (>= 1.0.0.10)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on FFImageLoading.Maui:
Package | Downloads |
---|---|
PhotoBrowser.Maui
PhotoBrowser.Maui library for projects using .NET MAUI Full screen image viewer(.NET MAUI) that includes "pinch to zoom" and "swipe to dismiss" gestures. - PhotoBrowser.Maui |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on FFImageLoading.Maui:
Repository | Stars |
---|---|
microspaze/FFImageLoading.Maui
FFImageLoading.Maui - Fast & Furious Image Loading for .NET MAUI
|
Version | Downloads | Last updated |
---|---|---|
1.2.7 | 25,970 | 8/29/2024 |
1.2.6 | 40,435 | 7/1/2024 |
1.2.5 | 22,898 | 5/21/2024 |
1.2.4 | 5,788 | 5/14/2024 |
1.2.3 | 1,627 | 5/5/2024 |
1.2.2 | 369 | 5/4/2024 |
1.2.1 | 12,330 | 4/20/2024 |
1.2.0 | 6,195 | 4/16/2024 |
1.1.9 | 910 | 4/16/2024 |
1.1.8 | 30,681 | 4/10/2024 |
1.1.7 | 109 | 4/10/2024 |
1.1.6 | 923 | 4/8/2024 |
1.1.5 | 268 | 4/7/2024 |
1.1.3 | 4,959 | 4/3/2024 |
1.1.2 | 2,082 | 3/27/2024 |
1.1.1 | 226 | 3/26/2024 |
1.1.0 | 46,976 | 2/29/2024 |
1.0.9 | 5,151 | 2/12/2024 |
1.0.8 | 3,010 | 2/6/2024 |
1.0.7 | 350 | 2/5/2024 |
1.0.6 | 10,432 | 12/19/2023 |
1.0.5 | 150 | 12/18/2023 |
1.0.3 | 6,415 | 9/11/2023 |