FFImageLoading.Maui
1.1.0
Prefix Reserved
See the version list below for details.
dotnet add package FFImageLoading.Maui --version 1.1.0
NuGet\Install-Package FFImageLoading.Maui -Version 1.1.0
<PackageReference Include="FFImageLoading.Maui" Version="1.1.0" />
paket add FFImageLoading.Maui --version 1.1.0
#r "nuget: FFImageLoading.Maui, 1.1.0"
// Install FFImageLoading.Maui as a Cake Addin #addin nuget:?package=FFImageLoading.Maui&version=1.1.0 // Install FFImageLoading.Maui as a Cake Tool #tool nuget:?package=FFImageLoading.Maui&version=1.1.0
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.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 |