|
1 | 1 | # FFImageLoading - Fast & Furious Image Loading
|
2 | 2 |
|
3 |
| -[![AppVeyor][ci-img]][ci-link] <a href="https://www.buymeacoffee.com/AU3KQCy6N" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 25px !important;width: auto !important;" ></a> |
4 |
| - |
5 |
| -Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac / Xamarin.Tizen and Windows (UWP, WinRT). |
6 |
| - |
7 |
| -*Authors: Daniel Luberda, Fabien Molinet. If you would like to help maintaining the project, just let us know!* |
8 |
| - |
9 |
| -| iOS / Android / Mac / Windows / Tizen | Xamarin.Forms | |
10 |
| -|:--------------------------------:|:-------------:| |
11 |
| -| [![NuGet][ffil-img]][ffil-link] [![NuGet][preffil-img]][preffil-link] | [![NuGet][forms-img]][forms-link] [![NuGet][preforms-img]][preforms-link] | |
12 |
| -| [![][demo-droid-img]][demo-droid-src] [![][demo-win-img]][demo-win-src] [![][demo-mvvmcross-img]][demo-mvvmcross-src] | [![][demo-forms-img]][demo-forms-src] | |
13 |
| - |
14 |
| -| Addon | iOS / Android / Mac / Tizen / Windows | Xamarin.Forms | |
15 |
| -|:-----:|:-----------------------:|:-------------:| |
16 |
| -| Transformations | [![NuGet][trans-img]][trans-link] [![NuGet][pretrans-img]][pretrans-link] | [![NuGet][trans-img]][trans-link] [![NuGet][pretrans-img]][pretrans-link] | |
17 |
| -| SVG support | [![NuGet][svg-img]][svg-link] [![NuGet][presvg-img]][presvg-link] | [![NuGet][svgforms-img]][svgforms-link] [![NuGet][presvgforms-img]][presvgforms-link] | |
18 |
| - |
19 |
| -[![NuGet][ffimageloading]][ffimageloading_large] |
20 |
| - |
21 |
| -## Features |
22 |
| - |
23 |
| -- Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac, Xamarin.Tizen and Windows (WinRT, UWP) support |
24 |
| -- Configurable disk and memory caching |
25 |
| -- Multiple image views using the same image source (url, path, resource) will use only one bitmap which is cached in memory (less memory usage) |
26 |
| -- 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).* |
27 |
| -- Error and loading placeholders support |
28 |
| -- Images can be automatically downsampled to specified size (less memory usage) |
29 |
| -- Fluent API which is inspired by Picasso naming |
30 |
| -- SVG / WebP / GIF support |
31 |
| -- Image loading Fade-In animations support |
32 |
| -- Can retry image downloads (RetryCount, RetryDelay) |
33 |
| -- Android bitmap optimization. Saves 50% of memory by trying not to use transparency channel when possible. |
34 |
| -- Transformations support |
35 |
| - - BlurredTransformation |
36 |
| - - CircleTransformation, RoundedTransformation, CornersTransformation, CropTransformation |
37 |
| - - ColorSpaceTransformation, GrayscaleTransformation, SepiaTransformation, TintTransformation |
38 |
| - - FlipTransformation, RotateTransformation |
39 |
| - - Supports custom transformations (native platform `ITransformation` implementations) |
40 |
| - |
41 |
| -## Documentation |
42 |
| - |
43 |
| -https://github.com/luberda-molinet/FFImageLoading/wiki |
44 |
| - |
45 |
| -[what-is-this]: various_images_and_image_links |
46 |
| - |
47 |
| -[ci-img]: https://img.shields.io/appveyor/ci/daniel-luberda/ffimageloading.svg |
48 |
| -[ci-link]: https://ci.appveyor.com/project/daniel-luberda/ffimageloading |
49 |
| - |
50 |
| -[donate-img]: https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png |
51 |
| -[donate-link]: https://www.buymeacoffee.com/AU3KQCy6N |
52 |
| - |
53 |
| -[ffil-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.svg |
54 |
| -[ffil-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading |
55 |
| -[forms-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.Forms.svg |
56 |
| -[forms-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Forms |
57 |
| -[trans-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.Transformations.svg |
58 |
| -[trans-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Transformations |
59 |
| -[svg-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.Svg.svg |
60 |
| -[svg-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Svg |
61 |
| -[svgforms-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.Svg.Forms.svg |
62 |
| -[svgforms-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Svg.Forms |
63 |
| - |
64 |
| -[preffil-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.svg |
65 |
| -[preffil-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading |
66 |
| -[preforms-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.Forms.svg |
67 |
| -[preforms-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Forms |
68 |
| -[pretrans-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.Transformations.svg |
69 |
| -[pretrans-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Transformations |
70 |
| -[presvg-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.Svg.svg |
71 |
| -[presvg-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Svg |
72 |
| -[presvgforms-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.Svg.Forms.svg |
73 |
| -[presvgforms-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Svg.Forms |
74 |
| - |
75 |
| -[ffimageloading_large]: https://raw.githubusercontent.com/luberda-molinet/FFImageLoading/master/samples/Screenshots/ffimageloading_large.png |
76 |
| -[ffimageloading]: https://raw.githubusercontent.com/luberda-molinet/FFImageLoading/master/samples/Screenshots/ffimageloading.png |
77 |
| - |
78 |
| -[demo-forms-img]: https://img.shields.io/badge/demo-xamarin.forms-orange.svg |
79 |
| -[demo-forms-src]: https://github.com/luberda-molinet/FFImageLoading/tree/master/samples/ImageLoading.Forms.Sample |
80 |
| -[demo-droid-img]: https://img.shields.io/badge/demo-android-orange.svg |
81 |
| -[demo-droid-src]: https://github.com/luberda-molinet/FFImageLoading/tree/master/samples/ImageLoading.MvvmCross.Sample |
82 |
| -[demo-mvvmcross-img]: https://img.shields.io/badge/demo-mvvmcross-orange.svg |
83 |
| -[demo-mvvmcross-src]: https://github.com/luberda-molinet/FFImageLoading/tree/master/samples/ImageLoading.Sample |
84 |
| -[demo-win-img]: https://img.shields.io/badge/demo-win-orange.svg |
85 |
| -[demo-win-src]: https://github.com/luberda-molinet/FFImageLoading/tree/master/samples/Simple.WinPhone.Sample |
86 |
| -[dev-nugets-img]: https://img.shields.io/badge/nugets-dev-yellow.svg |
87 |
| -[dev-nugets]: https://github.com/luberda-molinet/FFImageLoading/wiki/Dev-NuGet-packages |
88 |
| - |
| 3 | +[![AppVeyor][ci-img]][ci-link] <a href="https://www.buymeacoffee.com/AU3KQCy6N" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: 25px !important;width: auto !important;" ></a> |
| 4 | + |
| 5 | +Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac / Xamarin.Tizen and Windows (UWP, WinRT). |
| 6 | + |
| 7 | +*Authors: Daniel Luberda, Fabien Molinet. If you would like to help maintaining the project, just let us know!* |
| 8 | + |
| 9 | +| iOS / Android / Mac / Windows / Tizen | Xamarin.Forms | |
| 10 | +|:--------------------------------:|:-------------:| |
| 11 | +| [![NuGet][ffil-img]][ffil-link] [![NuGet][preffil-img]][preffil-link] | [![NuGet][forms-img]][forms-link] [![NuGet][preforms-img]][preforms-link] | |
| 12 | +| [![][demo-droid-img]][demo-droid-src] [![][demo-win-img]][demo-win-src] [![][demo-mvvmcross-img]][demo-mvvmcross-src] | [![][demo-forms-img]][demo-forms-src] | |
| 13 | + |
| 14 | +| Addon | iOS / Android / Mac / Tizen / Windows | Xamarin.Forms | |
| 15 | +|:-----:|:-----------------------:|:-------------:| |
| 16 | +| Transformations | [![NuGet][trans-img]][trans-link] [![NuGet][pretrans-img]][pretrans-link] | [![NuGet][trans-img]][trans-link] [![NuGet][pretrans-img]][pretrans-link] | |
| 17 | +| SVG support | [![NuGet][svg-img]][svg-link] [![NuGet][presvg-img]][presvg-link] | [![NuGet][svgforms-img]][svgforms-link] [![NuGet][presvgforms-img]][presvgforms-link] | |
| 18 | + |
| 19 | +[![NuGet][ffimageloading]][ffimageloading_large] |
| 20 | + |
| 21 | +## Features |
| 22 | + |
| 23 | +- Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac, Xamarin.Tizen and Windows (WinRT, UWP) support |
| 24 | +- Configurable disk and memory caching |
| 25 | +- Multiple image views using the same image source (url, path, resource) will use only one bitmap which is cached in memory (less memory usage) |
| 26 | +- 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).* |
| 27 | +- Error and loading placeholders support |
| 28 | +- Images can be automatically downsampled to specified size (less memory usage) |
| 29 | +- Fluent API which is inspired by Picasso naming |
| 30 | +- SVG / WebP / GIF support |
| 31 | +- Image loading Fade-In animations support |
| 32 | +- Can retry image downloads (RetryCount, RetryDelay) |
| 33 | +- Android bitmap optimization. Saves 50% of memory by trying not to use transparency channel when possible. |
| 34 | +- Transformations support |
| 35 | + - BlurredTransformation |
| 36 | + - CircleTransformation, RoundedTransformation, CornersTransformation, CropTransformation |
| 37 | + - ColorSpaceTransformation, GrayscaleTransformation, SepiaTransformation, TintTransformation |
| 38 | + - FlipTransformation, RotateTransformation |
| 39 | + - Supports custom transformations (native platform `ITransformation` implementations) |
| 40 | + |
| 41 | +## Documentation |
| 42 | + |
| 43 | +https://github.com/luberda-molinet/FFImageLoading/wiki |
| 44 | + |
| 45 | +[what-is-this]: various_images_and_image_links |
| 46 | + |
| 47 | +[ci-img]: https://img.shields.io/appveyor/ci/daniel-luberda/ffimageloading.svg |
| 48 | +[ci-link]: https://ci.appveyor.com/project/daniel-luberda/ffimageloading |
| 49 | + |
| 50 | +[donate-img]: https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png |
| 51 | +[donate-link]: https://www.buymeacoffee.com/AU3KQCy6N |
| 52 | + |
| 53 | +[ffil-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.svg |
| 54 | +[ffil-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading |
| 55 | +[forms-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.Forms.svg |
| 56 | +[forms-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Forms |
| 57 | +[trans-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.Transformations.svg |
| 58 | +[trans-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Transformations |
| 59 | +[svg-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.Svg.svg |
| 60 | +[svg-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Svg |
| 61 | +[svgforms-img]: https://img.shields.io/nuget/v/Xamarin.FFImageLoading.Svg.Forms.svg |
| 62 | +[svgforms-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Svg.Forms |
| 63 | + |
| 64 | +[preffil-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.svg |
| 65 | +[preffil-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading |
| 66 | +[preforms-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.Forms.svg |
| 67 | +[preforms-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Forms |
| 68 | +[pretrans-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.Transformations.svg |
| 69 | +[pretrans-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Transformations |
| 70 | +[presvg-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.Svg.svg |
| 71 | +[presvg-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Svg |
| 72 | +[presvgforms-img]: https://img.shields.io/nuget/vpre/Xamarin.FFImageLoading.Svg.Forms.svg |
| 73 | +[presvgforms-link]: https://www.nuget.org/packages/Xamarin.FFImageLoading.Svg.Forms |
| 74 | + |
| 75 | +[ffimageloading_large]: https://raw.githubusercontent.com/luberda-molinet/FFImageLoading/master/samples/Screenshots/ffimageloading_large.png |
| 76 | +[ffimageloading]: https://raw.githubusercontent.com/luberda-molinet/FFImageLoading/master/samples/Screenshots/ffimageloading.png |
| 77 | + |
| 78 | +[demo-forms-img]: https://img.shields.io/badge/demo-xamarin.forms-orange.svg |
| 79 | +[demo-forms-src]: https://github.com/luberda-molinet/FFImageLoading/tree/master/samples/ImageLoading.Forms.Sample |
| 80 | +[demo-droid-img]: https://img.shields.io/badge/demo-android-orange.svg |
| 81 | +[demo-droid-src]: https://github.com/luberda-molinet/FFImageLoading/tree/master/samples/ImageLoading.MvvmCross.Sample |
| 82 | +[demo-mvvmcross-img]: https://img.shields.io/badge/demo-mvvmcross-orange.svg |
| 83 | +[demo-mvvmcross-src]: https://github.com/luberda-molinet/FFImageLoading/tree/master/samples/ImageLoading.Sample |
| 84 | +[demo-win-img]: https://img.shields.io/badge/demo-win-orange.svg |
| 85 | +[demo-win-src]: https://github.com/luberda-molinet/FFImageLoading/tree/master/samples/Simple.WinPhone.Sample |
| 86 | +[dev-nugets-img]: https://img.shields.io/badge/nugets-dev-yellow.svg |
| 87 | +[dev-nugets]: https://github.com/luberda-molinet/FFImageLoading/wiki/Dev-NuGet-packages |
| 88 | + |
0 commit comments