实例介绍
FFImageLoading - 快速而猛烈的图像加载
FFImageLoading是一个用于在Xamarin.iOS、Xamarin.Android、Xamarin.Forms、Xamarin.Mac、Xamarin.Tizen和Windows (UWP, WinRT)上快速而轻松加载图像的库。
特点
- Xamarin.iOS、Xamarin.Android、Xamarin.Forms、Xamarin.Mac、Xamarin.Tizen和Windows (WinRT, UWP)支持
- 可配置的磁盘和内存缓存
- 使用相同图像源(url、路径、资源)的多个图像视图将只使用一个位图,该位图缓存在内存中(内存使用量更少)
- 相似的下载/加载请求去重(如果100个相似的请求同时到达,则只执行一次真正的加载,而其他99个则等待)
- 支持错误和加载占位符
- 图像可以自动缩小到指定大小(内存使用量更少)
- 灵活的API,灵感来自Picasso的命名
- SVG / WebP / GIF支持
- 图像加载时淡入效果
【实例截图】
文件清单
└── FFImageLoading-bb675c6011b39ddccecbe6125d1853de81e6396a
├── appveyor.yml
├── build.cake
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── FFImageLoading.sln
├── ISSUE_TEMPLATE.md
├── LICENSE.md
├── Makefile
├── MakefileAll.bat
├── nuget
│ ├── Xamarin.FFImageLoading.Forms.nuspec
│ ├── Xamarin.FFImageLoading.nuspec
│ ├── Xamarin.FFImageLoading.Svg.Forms.nuspec
│ ├── Xamarin.FFImageLoading.Svg.nuspec
│ └── Xamarin.FFImageLoading.Transformations.nuspec
├── README.md
├── samples
│ ├── FFImageLoading.Mac.Sample
│ │ ├── AppDelegate.cs
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── AppIcon-128@2x.png
│ │ │ │ ├── AppIcon-128.png
│ │ │ │ ├── AppIcon-16@2x.png
│ │ │ │ ├── AppIcon-16.png
│ │ │ │ ├── AppIcon-256@2x.png
│ │ │ │ ├── AppIcon-256.png
│ │ │ │ ├── AppIcon-32@2x.png
│ │ │ │ ├── AppIcon-32.png
│ │ │ │ ├── AppIcon-512@2x.png
│ │ │ │ ├── AppIcon-512.png
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── Entitlements.plist
│ │ ├── FFImageLoading.Mac.Sample.csproj
│ │ ├── Info.plist
│ │ ├── Main.cs
│ │ ├── Main.storyboard
│ │ ├── ViewController.cs
│ │ └── ViewController.designer.cs
│ ├── ImageLoading.Forms.Sample
│ │ ├── Droid
│ │ │ ├── app.config
│ │ │ ├── Assets
│ │ │ │ └── AboutAssets.txt
│ │ │ ├── FFImageLoading.Forms.Sample.Droid.csproj
│ │ │ ├── MainActivity.cs
│ │ │ ├── packages.config
│ │ │ ├── Properties
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Resources
│ │ │ ├── AboutResources.txt
│ │ │ ├── drawable
│ │ │ │ ├── error.png
│ │ │ │ ├── icon.png
│ │ │ │ ├── loading.png
│ │ │ │ └── sample.svg
│ │ │ ├── drawable-hdpi
│ │ │ │ ├── icon.png
│ │ │ │ └── ic_star_black_24dp.png
│ │ │ ├── drawable-xhdpi
│ │ │ │ ├── icon.png
│ │ │ │ └── ic_star_black_24dp.png
│ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── icon.png
│ │ │ │ └── ic_star_black_24dp.png
│ │ │ ├── layout
│ │ │ │ ├── tabs.axml
│ │ │ │ └── toolbar.axml
│ │ │ ├── values
│ │ │ │ ├── colors.xml
│ │ │ │ └── style.xml
│ │ │ └── values-v21
│ │ │ └── style.xml
│ │ ├── iOS
│ │ │ ├── app.config
│ │ │ ├── AppDelegate.cs
│ │ │ ├── Entitlements.plist
│ │ │ ├── FFImageLoading.Forms.Sample.iOS.csproj
│ │ │ ├── Info.plist
│ │ │ ├── Main.cs
│ │ │ ├── packages.config
│ │ │ └── Resources
│ │ │ ├── error.png
│ │ │ ├── ic_star_black_24dp@2x.png
│ │ │ ├── ic_star_black_24dp@3x.png
│ │ │ ├── ic_star_black_24dp.png
│ │ │ ├── Images.xcassets
│ │ │ │ ├── AppIcons.appiconset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── testasset.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── loadingg.png
│ │ │ ├── LaunchScreen.xib
│ │ │ ├── loading.png
│ │ │ └── sample.svg
│ │ ├── Mac
│ │ │ ├── AppDelegate.cs
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ ├── AppIcon-128@2x.png
│ │ │ │ │ ├── AppIcon-128.png
│ │ │ │ │ ├── AppIcon-16@2x.png
│ │ │ │ │ ├── AppIcon-16.png
│ │ │ │ │ ├── AppIcon-256@2x.png
│ │ │ │ │ ├── AppIcon-256.png
│ │ │ │ │ ├── AppIcon-32@2x.png
│ │ │ │ │ ├── AppIcon-32.png
│ │ │ │ │ ├── AppIcon-512@2x.png
│ │ │ │ │ ├── AppIcon-512.png
│ │ │ │ │ └── Contents.json
│ │ │ │ └── Contents.json
│ │ │ ├── Entitlements.plist
│ │ │ ├── FFImageLoading.Forms.Sample.Mac.csproj
│ │ │ ├── Info.plist
│ │ │ ├── Main.cs
│ │ │ ├── Main.storyboard
│ │ │ ├── packages.config
│ │ │ ├── Resources
│ │ │ │ ├── error.png
│ │ │ │ ├── ic_star_black_24dp@2x.png
│ │ │ │ ├── ic_star_black_24dp@3x.png
│ │ │ │ ├── ic_star_black_24dp.png
│ │ │ │ ├── loading.png
│ │ │ │ └── sample.svg
│ │ │ ├── ViewController.cs
│ │ │ └── ViewController.designer.cs
│ │ ├── Shared
│ │ │ ├── App.cs
│ │ │ ├── FFImageLoading.Forms.Sample.csproj
│ │ │ ├── FodyWeavers.xml
│ │ │ ├── FodyWeavers.xsd
│ │ │ ├── Helpers.cs
│ │ │ ├── Pages
│ │ │ │ ├── BasicPageModel.cs
│ │ │ │ ├── BasicPage.xaml
│ │ │ │ ├── BasicPage.xaml.cs
│ │ │ │ ├── ByteArrayListPageCell.xaml
│ │ │ │ ├── ByteArrayListPageCell.xaml.cs
│ │ │ │ ├── ByteArrayListPageModel.cs
│ │ │ │ ├── ByteArrayListPage.xaml
│ │ │ │ ├── ByteArrayListPage.xaml.cs
│ │ │ │ ├── CachedImageSizingTestPageModel.cs
│ │ │ │ ├── CachedImageSizingTestPage.xaml
│ │ │ │ ├── CachedImageSizingTestPage.xaml.cs
│ │ │ │ ├── CustomKeyPageCell.xaml
│ │ │ │ ├── CustomKeyPageCell.xaml.cs
│ │ │ │ ├── CustomKeyPageModel.cs
│ │ │ │ ├── CustomKeyPage.xaml
│ │ │ │ ├── CustomKeyPage.xaml.cs
│ │ │ │ ├── DataUrlPageModel.cs
│ │ │ │ ├── DataUrlPage.xaml
│ │ │ │ ├── DataUrlPage.xaml.cs
│ │ │ │ ├── ExifPageModel.cs
│ │ │ │ ├── ExifPage.xaml
│ │ │ │ ├── ExifPage.xaml.cs
│ │ │ │ ├── ListHeavyPage.cs
│ │ │ │ ├── ListHeavyPageModel.cs
│ │ │ │ ├── ListPageCell.xaml
│ │ │ │ ├── ListPageCell.xaml.cs
│ │ │ │ ├── ListPageModel.cs
│ │ │ │ ├── ListPage.xaml
│ │ │ │ ├── ListPage.xaml.cs
│ │ │ │ ├── ListTransformationsPageCell.xaml
│ │ │ │ ├── ListTransformationsPageCell.xaml.cs
│ │ │ │ ├── ListTransformationsPageModel.cs
│ │ │ │ ├── ListTransformationsPage.xaml
│ │ │ │ ├── ListTransformationsPage.xaml.cs
│ │ │ │ ├── MenuNavigationPageModel.cs
│ │ │ │ ├── MenuPageModel.cs
│ │ │ │ ├── MenuPage.xaml
│ │ │ │ ├── MenuPage.xaml.cs
│ │ │ │ ├── PlaceholdersPageModel.cs
│ │ │ │ ├── PlaceholdersPage.xaml
│ │ │ │ ├── PlaceholdersPage.xaml.cs
│ │ │ │ ├── SimpleGifPageModel.cs
│ │ │ │ ├── SimpleGifPage.xaml
│ │ │ │ ├── SimpleGifPage.xaml.cs
│ │ │ │ ├── SimpleWebpPageModel.cs
│ │ │ │ ├── SimpleWebpPage.xaml
│ │ │ │ ├── SimpleWebpPage.xaml.cs
│ │ │ │ ├── StreamListPageCell.xaml
│ │ │ │ ├── StreamListPageCell.xaml.cs
│ │ │ │ ├── StreamListPageModel.cs
│ │ │ │ ├── StreamListPage.xaml
│ │ │ │ ├── StreamListPage.xaml.cs
│ │ │ │ ├── SvgListHeavyPage.cs
│ │ │ │ ├── SvgListHeavyPageModel.cs
│ │ │ │ ├── SvgReplacePageModel.cs
│ │ │ │ ├── SvgReplacePage.xaml
│ │ │ │ ├── SvgReplacePage.xaml.cs
│ │ │ │ ├── SvgSamplePageModel.cs
│ │ │ │ ├── SvgSamplePage.xaml
│ │ │ │ ├── SvgSamplePage.xaml.cs
│ │ │ │ └── Transformations
│ │ │ │ ├── BaseTransformationPageModel.cs
│ │ │ │ ├── BlurredTransformationPageModel.cs
│ │ │ │ ├── BlurredTransformationPage.xaml
│ │ │ │ ├── BlurredTransformationPage.xaml.cs
│ │ │ │ ├── CircleTransformationPageModel.cs
│ │ │ │ ├── CircleTransformationPage.xaml
│ │ │ │ ├── CircleTransformationPage.xaml.cs
│ │ │ │ ├── ColorFillTransformationPageModel.cs
│ │ │ │ ├── ColorFillTransformationPage.xaml
│ │ │ │ ├── ColorFillTransformationPage.xaml.cs
│ │ │ │ ├── ColorSpaceTransformationPageModel.cs
│ │ │ │ ├── ColorSpaceTransformationPage.xaml
│ │ │ │ ├── ColorSpaceTransformationPage.xaml.cs
│ │ │ │ ├── CornersTransformationPageModel.cs
│ │ │ │ ├── CornersTransformationPage.xaml
│ │ │ │ ├── CornersTransformationPage.xaml.cs
│ │ │ │ ├── CropTransformationPageModel.cs
│ │ │ │ ├── CropTransformationPage.xaml
│ │ │ │ ├── CropTransformationPage.xaml.cs
│ │ │ │ ├── FlipTransformationPageModel.cs
│ │ │ │ ├── FlipTransformationPage.xaml
│ │ │ │ ├── FlipTransformationPage.xaml.cs
│ │ │ │ ├── GrayscaleTransformationPageModel.cs
│ │ │ │ ├── GrayscaleTransformationPage.xaml
│ │ │ │ ├── GrayscaleTransformationPage.xaml.cs
│ │ │ │ ├── MultipleTransformationsPageModel.cs
│ │ │ │ ├── MultipleTransformationsPage.xaml
│ │ │ │ ├── MultipleTransformationsPage.xaml.cs
│ │ │ │ ├── RotateTransformationPageModel.cs
│ │ │ │ ├── RotateTransformationPage.xaml
│ │ │ │ ├── RotateTransformationPage.xaml.cs
│ │ │ │ ├── RoundedTransformationPageModel.cs
│ │ │ │ ├── RoundedTransformationPage.xaml
│ │ │ │ ├── RoundedTransformationPage.xaml.cs
│ │ │ │ ├── SepiaTransformationPageModel.cs
│ │ │ │ ├── SepiaTransformationPage.xaml
│ │ │ │ ├── SepiaTransformationPage.xaml.cs
│ │ │ │ ├── TintTransformationPageModel.cs
│ │ │ │ ├── TintTransformationPage.xaml
│ │ │ │ ├── TintTransformationPage.xaml.cs
│ │ │ │ ├── TransformationsSelectorPageModel.cs
│ │ │ │ ├── TransformationsSelectorPage.xaml
│ │ │ │ └── TransformationsSelectorPage.xaml.cs
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── Resources
│ │ │ ├── replace.svg
│ │ │ ├── sample.svg
│ │ │ └── tenor.gif
│ │ ├── Tizen
│ │ │ ├── App.cs
│ │ │ ├── FFImageLoading.Forms.Sample.Tizen.csproj
│ │ │ ├── lib
│ │ │ │ ├── libHarfBuzzSharp.so
│ │ │ │ └── libSkiaSharp.so
│ │ │ ├── libHarfBuzzSharp.so
│ │ │ ├── libSkiaSharp.so
│ │ │ ├── res
│ │ │ │ ├── error.png
│ │ │ │ ├── LaunchScreen.xib
│ │ │ │ ├── loading.png
│ │ │ │ └── sample.svg
│ │ │ ├── shared
│ │ │ │ └── res
│ │ │ │ └── icon.png
│ │ │ └── tizen-manifest.xml
│ │ └── WinUWP
│ │ ├── App.xaml
│ │ ├── App.xaml.cs
│ │ ├── Assets
│ │ │ ├── error.png
│ │ │ ├── loading.png
│ │ │ ├── LockScreenLogo.scale-200.png
│ │ │ ├── sample.svg
│ │ │ ├── SplashScreen.scale-200.png
│ │ │ ├── Square150x150Logo.scale-200.png
│ │ │ ├── Square44x44Logo.scale-200.png
│ │ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ │ │ ├── StoreLogo.png
│ │ │ └── Wide310x150Logo.scale-200.png
│ │ ├── FFImageLoading.Forms.Sample.WinUWP.csproj
│ │ ├── MainPage.xaml
│ │ ├── MainPage.xaml.cs
│ │ ├── Package.appxmanifest
│ │ ├── Properties
│ │ │ ├── AssemblyInfo.cs
│ │ │ └── Default.rd.xml
│ │ ├── SET_ENVIRONMENT_VARIABLES.bat
│ │ └── WinUWP_TemporaryKey.pfx
│ ├── ImageLoading.MvvmCross.Sample
│ │ ├── FFImageLoading.MvvmCross.Sample.Core
│ │ │ ├── App.cs
│ │ │ ├── FFImageLoading.MvvmCross.Sample.Core.csproj
│ │ │ ├── packages.config
│ │ │ ├── Properties
│ │ │ │ └── AssemblyInfo.cs
│ │ │ └── ViewModels
│ │ │ ├── BaseViewModel.cs
│ │ │ ├── Image.cs
│ │ │ └── MainViewModel.cs
│ │ ├── FFImageLoading.MvvmCross.Sample.Droid
│ │ │ ├── Assets
│ │ │ │ └── AboutAssets.txt
│ │ │ ├── FFImageLoading.MvvmCross.Sample.Droid.csproj
│ │ │ ├── packages.config
│ │ │ ├── Properties
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── AssemblyInfo.cs
│ │ │ ├── Resources
│ │ │ │ ├── AboutResources.txt
│ │ │ │ ├── drawable-nodpi
│ │ │ │ │ └── place.jpg
│ │ │ │ ├── layout
│ │ │ │ │ ├── item_image.axml
│ │ │ │ │ └── MainView.axml
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ └── Icon.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ └── Icon.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ └── Icon.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ └── Icon.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── Icon.png
│ │ │ │ └── values
│ │ │ │ └── Strings.xml
│ │ │ ├── Setup.cs
│ │ │ └── Views
│ │ │ ├── BaseView.cs
│ │ │ └── MainView.cs
│ │ └── FFImageLoading.MvvmCross.Sample.iOS
│ │ ├── AppDelegate.cs
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ └── Contents.json
│ │ ├── CustomTableViewCell.cs
│ │ ├── CustomTableViewCell.designer.cs
│ │ ├── Entitlements.plist
│ │ ├── FFImageLoading.MvvmCross.Sample.iOS.csproj
│ │ ├── Info.plist
│ │ ├── LaunchScreen.storyboard
│ │ ├── Main.cs
│ │ ├── Main.storyboard
│ │ ├── packages.config
│ │ ├── Resources
│ │ │ └── place.jpg
│ │ ├── Setup.cs
│ │ ├── ViewController.cs
│ │ └── ViewController.designer.cs
│ ├── ImageLoading.Sample
│ │ ├── Assets
│ │ │ ├── AboutAssets.txt
│ │ │ └── Images
│ │ │ ├── error.jpg
│ │ │ └── placeholder.jpg
│ │ ├── Config.cs
│ │ ├── DetailActivity.cs
│ │ ├── ImageFragment.cs
│ │ ├── MainActivity.cs
│ │ ├── packages.config
│ │ ├── PictureAdapter.cs
│ │ ├── Properties
│ │ │ ├── AndroidManifest.xml
│ │ │ └── AssemblyInfo.cs
│ │ ├── RecyclerActivity.cs
│ │ ├── Resources
│ │ │ ├── AboutResources.txt
│ │ │ ├── drawable
│ │ │ │ ├── error.jpg
│ │ │ │ ├── Icon.png
│ │ │ │ └── placeholder.jpg
│ │ │ ├── layout
│ │ │ │ ├── detail_item.axml
│ │ │ │ ├── fragment_image.axml
│ │ │ │ ├── list.axml
│ │ │ │ ├── list_item.axml
│ │ │ │ └── Main.axml
│ │ │ ├── menu
│ │ │ │ └── options.axml
│ │ │ └── values
│ │ │ ├── Attrs.xml
│ │ │ ├── Strings.xml
│ │ │ └── Themes.xml
│ │ ├── Simple.Android.Sample.csproj
│ │ └── Views
│ │ └── BorderedImageView.cs
│ ├── Screenshots
│ │ ├── android_list.png
│ │ ├── android_menu.png
│ │ ├── android_placeholders1.png
│ │ ├── android_placeholders2.png
│ │ ├── android_simple.png
│ │ ├── android_transformations.png
│ │ ├── ffimageloading_large.png
│ │ ├── ffimageloading.png
│ │ └── Transformations
│ │ ├── Android_BlurredTransformation.png
│ │ ├── Android_BlurredTransformation_Thumb.jpg
│ │ ├── Android_CircleTransformation.png
│ │ ├── Android_CircleTransformation_Thumb.jpg
│ │ ├── Android_ColorSpaceTransformation.png
│ │ ├── Android_ColorSpaceTransformation_Thumb.jpg
│ │ ├── Android_CornersTransformation.png
│ │ ├── Android_CornersTransformation_Thumb.jpg
│ │ ├── Android_CropTransformation.png
│ │ ├── Android_CropTransformation_Thumb.jpg
│ │ ├── Android_FlipTransformation.png
│ │ ├── Android_FlipTransformation_Thumb.jpg
│ │ ├── Android_GrayscaleTransformation.png
│ │ ├── Android_GrayscaleTransformation_Thumb.jpg
│ │ ├── Android_RotateTransformation.png
│ │ ├── Android_RotateTransformation_Thumb.jpg
│ │ ├── Android_RoundedTransformation.png
│ │ ├── Android_RoundedTransformation_Thumb.jpg
│ │ ├── Android_SepiaTransformation.png
│ │ ├── Android_SepiaTransformation_Thumb.jpg
│ │ ├── Android_TintTransformation.png
│ │ ├── Android_TintTransformation_Thumb.png
│ │ ├── iOS_BlurredTransformation.png
│ │ ├── iOS_BlurredTransformation_Thumb.jpg
│ │ ├── iOS_CircleTransformation.png
│ │ ├── iOS_CircleTransformation_Thumb.jpg
│ │ ├── iOS_ColorSpaceTransformation.png
│ │ ├── iOS_ColorSpaceTransformation_Thumb.jpg
│ │ ├── iOS_CornersTransformation.png
│ │ ├── iOS_CornersTransformation_Thumb.jpg
│ │ ├── iOS_CropTransformation.png
│ │ ├── iOS_CropTransformation_Thumb.png
│ │ ├── iOS_FlipTransformation.png
│ │ ├── iOS_FlipTransformation_Thumb.jpg
│ │ ├── iOS_GrayscaleTransformation.png
│ │ ├── iOS_GrayscaleTransformation_Thumb.jpg
│ │ ├── iOS_RotateTransformation.png
│ │ ├── iOS_RotateTransformation_Thumb.jpg
│ │ ├── iOS_RoundedTransformation.png
│ │ ├── iOS_RoundedTransformation_Thumb.jpg
│ │ ├── iOS_SepiaTransformation.png
│ │ ├── iOS_SepiaTransformation_Thumb.jpg
│ │ ├── iOS_TintTransformation.png
│ │ ├── iOS_TintTransformation_Thumb.png
│ │ ├── Thumbs.db
│ │ ├── Windows_BlurredTransformation.png
│ │ ├── Windows_BlurredTransformation_Thumb.jpg
│ │ ├── Windows_CircleTransformation.png
│ │ ├── Windows_CircleTransformation_Thumb.jpg
│ │ ├── Windows_ColorSpaceTransformation.png
│ │ ├── Windows_ColorSpaceTransformation_Thumb.jpg
│ │ ├── Windows_CornersTransformation.png
│ │ ├── Windows_CornersTransformation_Thumb.jpg
│ │ ├── Windows_CropTransformation.png
│ │ ├── Windows_CropTransformation_Thumb.jpg
│ │ ├── Windows_FlipTransformation.png
│ │ ├── Windows_FlipTransformation_Thumb.jpg
│ │ ├── Windows_GrayscaleTransformation.png
│ │ ├── Windows_GrayscaleTransformation_Thumb.jpg
│ │ ├── Windows_RotateTransformation.png
│ │ ├── Windows_RotateTransformation_Thumb.jpg
│ │ ├── Windows_RoundedTransformation.png
│ │ ├── Windows_RoundedTransformation_Thumb.jpg
│ │ ├── Windows_SepiaTransformation.png
│ │ └── Windows_SepiaTransformation_Thumb.jpg
│ ├── Simple.iOS.Sample
│ │ ├── AppDelegate.cs
│ │ ├── Config.cs
│ │ ├── Entitlements.plist
│ │ ├── ImageDetailsViewController.cs
│ │ ├── ImageDetailsViewController.designer.cs
│ │ ├── ImageDetailsViewController.xib
│ │ ├── ImagesViewController.cs
│ │ ├── ImagesViewController.designer.cs
│ │ ├── ImageViewCell.cs
│ │ ├── ImageViewCell.designer.cs
│ │ ├── ImageViewCell.xib
│ │ ├── Info.plist
│ │ ├── Main.cs
│ │ ├── Main.storyboard
│ │ ├── packages.config
│ │ ├── Resources
│ │ │ ├── error@2x.png
│ │ │ ├── error@3x.png
│ │ │ ├── error.png
│ │ │ ├── ImageDetailsViewController.xib
│ │ │ ├── Images.xcassets
│ │ │ │ ├── AppIcons.appiconset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Icon.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Icon-universal@1x.png
│ │ │ │ │ ├── Icon-universal@2x.png
│ │ │ │ │ └── Icon-universal@3x.png
│ │ │ │ └── placeholder.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── placeholder-universal@1x.png
│ │ │ │ ├── placeholder-universal@2x.png
│ │ │ │ └── placeholder-universal@3x.png
│ │ │ └── LaunchScreen.xib
│ │ └── Simple.iOS.Sample.csproj
│ ├── Simple.TizenForms.Sample
│ │ ├── Forms
│ │ │ ├── App.cs
│ │ │ ├── BasicTestPage.cs
│ │ │ ├── ComparePage.cs
│ │ │ ├── DataUrlTestPage.cs
│ │ │ ├── DownSampleTestPage.cs
│ │ │ ├── GetImageTestPage.cs
│ │ │ ├── ListViewPage.cs
│ │ │ ├── MainPage.cs
│ │ │ └── SvgBasicTestPage.cs
│ │ ├── lib
│ │ │ ├── libHarfBuzzSharp.so
│ │ │ └── libSkiaSharp.so
│ │ ├── res
│ │ │ ├── error.jpg
│ │ │ ├── img1.png
│ │ │ ├── placeholder.jpg
│ │ │ └── sample.svg
│ │ ├── shared
│ │ │ └── res
│ │ │ └── Simple.TizenForms.Sample.Tizen.png
│ │ ├── Simple.TizenForms.Sample.cs
│ │ ├── Simple.TizenForms.Sample.csproj
│ │ └── tizen-manifest.xml
│ └── Simple.WinUniversal.Sample
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ ├── error.png
│ │ ├── loading.png
│ │ ├── LockScreenLogo.scale-200.png
│ │ ├── SplashScreen.scale-200.png
│ │ ├── Square150x150Logo.scale-200.png
│ │ ├── Square44x44Logo.scale-200.png
│ │ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ │ ├── StoreLogo.png
│ │ └── Wide310x150Logo.scale-200.png
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── Package.appxmanifest
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── Default.rd.xml
│ ├── Simple.Universal.Sample.csproj
│ └── Simple.Universal.Sample_TemporaryKey.pfx
└── source
├── FFImageLoading.Common
│ ├── Args
│ │ ├── DownloadProgressEventArgs.cs
│ │ ├── DownloadStartedEventArgs.cs
│ │ ├── ErrorEventArgs.cs
│ │ ├── FileWriteFinishedEventArgs.cs
│ │ ├── FinishEventArgs.cs
│ │ └── SuccessEventArgs.cs
│ ├── Cache
│ │ ├── CacheEntry.cs
│ │ ├── CacheResult.cs
│ │ ├── CacheStream.cs
│ │ ├── CacheType.cs
│ │ ├── DownloadCache.cs
│ │ ├── IDiskCache.cs
│ │ ├── IDownloadCache.cs
│ │ └── IMemoryCache.cs
│ ├── Concurrency
│ │ ├── ArrayHelper.cs
│ │ ├── FastPriorityQueue
│ │ │ ├── CustomComparer.cs
│ │ │ ├── GenericPriorityQueue.cs
│ │ │ ├── GenericPriorityQueueNode.cs
│ │ │ ├── IFixedSizePriorityQueue.cs
│ │ │ ├── IPriorityQueue.cs
│ │ │ └── SimplePriorityQueue.cs
│ │ ├── PendingTasksQueue.cs
│ │ └── ThreadSafeCollection.cs
│ ├── Config
│ │ └── Configuration.cs
│ ├── DataResolvers
│ │ ├── DataUrlResolver.cs
│ │ ├── EmbeddedResourceResolver.cs
│ │ ├── StreamDataResolver.cs
│ │ ├── UrlDataResolver.cs
│ │ ├── WrappedDataResolver.cs
│ │ └── WrappedDataResolverFactory.cs
│ ├── Decoders
│ │ ├── AnimatedImage.cs
│ │ ├── DecodedImage.cs
│ │ ├── IAnimatedImage.cs
│ │ ├── IDecodedImage.cs
│ │ └── IDecoder.cs
│ ├── Exceptions
│ │ ├── DownloadAggregateException.cs
│ │ ├── DownloadException.cs
│ │ ├── DownloadHeadersTimeoutException.cs
│ │ ├── DownloadHttpStatusCodeException.cs
│ │ └── DownloadReadTimeoutException.cs
│ ├── Extensions
│ │ ├── ArrayExtensions.cs
│ │ ├── AssemblyExtensions.cs
│ │ ├── IntExtensions.cs
│ │ ├── ObjectExtensions.cs
│ │ ├── StreamExtensions.cs
│ │ └── StringExtensions.cs
│ ├── FFImageLoading.csproj
│ ├── Helpers
│ │ ├── EmptyPlatformPerformance.cs
│ │ ├── Exif
│ │ │ ├── ByteArrayReader.cs
│ │ │ ├── Directory.cs
│ │ │ ├── DirectoryExtensions.cs
│ │ │ ├── DirectoryTiffHandler.cs
│ │ │ ├── ExifIfd0Descriptor.cs
│ │ │ ├── ExifIfd0Directory.cs
│ │ │ ├── ExifOrientation.cs
│ │ │ ├── ExifReader.cs
│ │ │ ├── ExifSubIfdDescriptor.cs
│ │ │ ├── ExifSubIfdDirectory.cs
│ │ │ ├── ExifTiffHandler.cs
│ │ │ ├── IndexedReader.cs
│ │ │ ├── ITagDescriptor.cs
│ │ │ ├── ITiffHandler.cs
│ │ │ ├── JpegSegmentReader.cs
│ │ │ ├── Rational.cs
│ │ │ ├── SequentialReader.cs
│ │ │ ├── SequentialStreamReader.cs
│ │ │ ├── StringValue.cs
│ │ │ ├── Tag.cs
│ │ │ ├── TagDescriptor.cs
│ │ │ ├── TiffDataFormat.cs
│ │ │ └── TiffReader.cs
│ │ ├── ExifHelper.cs
│ │ ├── FileHeader.cs
│ │ ├── Gif
│ │ │ ├── GifDecodeStatus.cs
│ │ │ ├── GifFrame.cs
│ │ │ ├── GifHeader.cs
│ │ │ ├── GifHeaderParser.cs
│ │ │ ├── GifHelperBase.cs
│ │ │ └── GifHelper.cs
│ │ ├── IMainThreadDispatcher.cs
│ │ ├── IMD5Helper.cs
│ │ ├── IMiniLogger.cs
│ │ ├── IPlatformPerformance.cs
│ │ ├── MiniLoggerWrapper.cs
│ │ ├── PreserveAttribute.cs
│ │ ├── Retry.cs
│ │ └── StaticLocks.cs
│ ├── ImageServiceBase.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Transformations
│ │ └── FFColorMatrix.cs
│ ├── Views
│ │ └── ICachedImageView.cs
│ └── Work
│ ├── DataEncodingType.cs
│ ├── DataResolverResult.cs
│ ├── DownloadInformation.cs
│ ├── DownloadProgress.cs
│ ├── FileWriteInfo.cs
│ ├── IBitmap.cs
│ ├── IDataResolver.cs
│ ├── IDataResolverFactory.cs
│ ├── IImageLoaderTask.cs
│ ├── IImageService.cs
│ ├── ImageInformation.cs
│ ├── ImageLoaderTask.cs
│ ├── ImageSource.cs
│ ├── InterpolationMode.cs
│ ├── IScheduledWork.cs
│ ├── ITarget.cs
│ ├── ITransformation.cs
│ ├── IVectorDataResolver.cs
│ ├── IWorkScheduler.cs
│ ├── LoadingPriority.cs
│ ├── LoadingResult.cs
│ ├── Target.cs
│ ├── TaskParameter.cs
│ └── WorkScheduler.cs
├── FFImageLoading.Cross
│ ├── FFImageLoading.Cross.projitems
│ ├── FFImageLoading.Cross.shproj
│ └── MvxCachedImageView.cs
├── FFImageLoading.Cross.Svg
│ ├── FFImageLoading.Cross.Svg.projitems
│ ├── FFImageLoading.Cross.Svg.shproj
│ └── MvxSvgCachedImageView.cs
├── FFImageLoading.Droid
│ ├── Cache
│ │ ├── ByteBoundStrongLruCache.cs
│ │ ├── IByteSizeAware.cs
│ │ ├── IImageCache.cs
│ │ ├── ImageCache.cs
│ │ ├── LRUCache.cs
│ │ ├── ReuseBitmapDrawableCache.cs
│ │ └── StrongCache.cs
│ ├── DataResolvers
│ │ ├── BundleDataResolver.cs
│ │ ├── DataResolverFactory.cs
│ │ ├── FileDataResolver.cs
│ │ └── ResourceDataResolver.cs
│ ├── Decoders
│ │ ├── BaseDecoder.cs
│ │ └── GifDecoder.cs
│ ├── Drawables
│ │ ├── FFAnimatedDrawable.cs
│ │ ├── FFBitmapDrawable.cs
│ │ ├── ISelfDisposingAnimatedBitmapDrawable.cs
│ │ ├── ISelfDisposingBitmapDrawable.cs
│ │ ├── SelfDisposingBitmapDrawable.cs
│ │ └── SelfDisposingTransitionDrawable.cs
│ ├── Extensions
│ │ ├── ColorExtensions.cs
│ │ ├── DrawableExtensions.cs
│ │ ├── ExifExtensions.cs
│ │ ├── TaskParameterPlatformExtensions.cs
│ │ └── UnitsExtensions.cs
│ ├── FFImageLoading.Droid.csproj
│ ├── Helpers
│ │ ├── HighResolutionTimer.cs
│ │ ├── MainThreadDispatcher.cs
│ │ ├── PlatformPerformance.cs
│ │ └── Utils.cs
│ ├── ImageService.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Resources
│ │ └── Resource.designer.cs
│ ├── Targets
│ │ ├── BitmapTarget.cs
│ │ ├── ImageViewTarget.cs
│ │ └── ViewTarget.cs
│ ├── Transformations
│ │ └── TransformationBase.cs
│ ├── Views
│ │ └── ImageViewAsync.cs
│ └── Work
│ ├── BitmapHolder.cs
│ └── PlatformImageLoadingTask.cs
├── FFImageLoading.Forms
│ ├── Args
│ │ ├── CachedImageEvents.cs
│ │ ├── GetImageAsJpgArgs.cs
│ │ └── GetImageAsPngArgs.cs
│ ├── CachedImage.cs
│ ├── DataUrlImageSource.cs
│ ├── EmbeddedResourceImageSource.cs
│ ├── Extensions
│ │ └── ColorExtensions.cs
│ ├── FFImageLoading.Forms.csproj
│ ├── Handlers
│ │ └── HandlerBase.cs
│ ├── Helpers
│ │ └── Dependency.cs
│ ├── ICacheKeyFactory.cs
│ ├── IImageSourceBinding.cs
│ ├── ImageSourceConverter.cs
│ ├── IVectorImageSource.cs
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Forms.Droid
│ ├── app.config
│ ├── CachedImageFastRenderer.cs
│ ├── CachedImageRenderer.cs
│ ├── CachedImageView.cs
│ ├── FFImageLoading.Forms.Droid.csproj
│ ├── FFImageLoadingImageSourceHandler.cs
│ ├── FFImageLoadingImageViewHandler.cs
│ ├── ImageSourceBinding.cs
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Forms.Mac
│ ├── FFImageLoading.Forms.Mac.csproj
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Forms.Mock
│ ├── CachedImageRenderer.cs
│ ├── FFImageLoading.Forms.Mock.csproj
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Forms.Tizen
│ ├── CachedImageRenderer.cs
│ ├── FFImageLoading.Forms.Tizen.csproj
│ ├── ImageSourceBinding.cs
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Forms.Touch
│ ├── app.config
│ ├── CachedImageRenderer.cs
│ ├── FFImageLoading.Forms.Touch.csproj
│ ├── FFImageLoadingImageSourceHandler.cs
│ ├── ImageSourceBinding.cs
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Forms.WinUWP
│ ├── CachedImageRenderer.cs
│ ├── FFImageLoading.Forms.WinUWP.csproj
│ ├── ImageSourceBinding.cs
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Mac
│ ├── Extensions
│ │ └── TaskParameterPlatformExtensions.cs
│ ├── FFImageLoading.Mac.csproj
│ ├── Helpers
│ │ └── FFCALayer.cs
│ ├── ImageService.cs
│ ├── packages.config
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Targets
│ │ ├── NSImageTarget.cs
│ │ ├── NSImageViewTarget.cs
│ │ └── NSViewTarget.cs
│ └── TaskParameterExtensions.cs
├── FFImageLoading.Mock
│ ├── Extensions
│ │ ├── TaskParameterExtensions.cs
│ │ ├── TaskParameterPlatformExtensions.cs
│ │ └── UnitExtensions.cs
│ ├── FFImageLoading.Mock.csproj
│ ├── ImageService.cs
│ └── Mock
│ ├── MockBitmap.cs
│ ├── MockDataResolverFactory.cs
│ ├── MockDecoder.cs
│ ├── MockDiskCache.cs
│ ├── MockFile.cs
│ ├── MockImageCache.cs
│ ├── MockImageView.cs
│ ├── MockLogger.cs
│ ├── MockMainThreadDispatcher.cs
│ ├── MockMD5Helper.cs
│ └── PlatformImageLoaderTask.cs
├── FFImageLoading.Shared
│ ├── Cache
│ │ └── SimpleDiskCache.cs
│ ├── FFImageLoading.Shared.projitems
│ ├── FFImageLoading.Shared.shproj
│ ├── Helpers
│ │ ├── MD5Helper.cs
│ │ └── MiniLogger.cs
│ └── IO
│ └── FileStore.cs
├── FFImageLoading.Shared.IosMac
│ ├── Cache
│ │ └── ImageCache.cs
│ ├── DataResolvers
│ │ ├── BundleDataResolver.cs
│ │ ├── DataResolverFactory.cs
│ │ └── FileDataResolver.cs
│ ├── Decoders
│ │ ├── BaseDecoder.cs
│ │ ├── GifDecoder.cs
│ │ └── WebPDecoder.cs
│ ├── Extensions
│ │ ├── ColorExtensions.cs
│ │ ├── NSDataExtensions.cs
│ │ ├── PImageExtensions.cs
│ │ └── UnitsExtensions.cs
│ ├── FFImageLoading.Shared.IosMac.projitems
│ ├── FFImageLoading.Shared.IosMac.shproj
│ ├── Helpers
│ │ ├── MainThreadDispatcher.cs
│ │ ├── PlatformPerformance.cs
│ │ └── ScaleHelper.cs
│ ├── Transformations
│ │ └── TransformationBase.cs
│ └── Work
│ ├── BitmapHolder.cs
│ └── PlatformImageLoaderTask.cs
├── FFImageLoading.Svg
│ ├── FFImageLoading.Svg.csproj
│ └── SvgDataResolver.cs
├── FFImageLoading.Svg.Droid
│ ├── FFImageLoading.Svg.Droid.csproj
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Svg.Forms
│ └── FFImageLoading.Svg.Forms.csproj
├── FFImageLoading.Svg.Forms.Droid
│ ├── FFImageLoading.Svg.Forms.Droid.csproj
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Svg.Forms.Mac
│ ├── FFImageLoading.Svg.Forms.Mac.csproj
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Svg.Forms.Shared
│ ├── FFImageLoading.Svg.Forms.Shared.projitems
│ ├── FFImageLoading.Svg.Forms.Shared.shproj
│ ├── SvgCachedImage.cs
│ ├── SvgImageSourceConverter.cs
│ └── SvgImageSource.cs
├── FFImageLoading.Svg.Forms.Tizen
│ └── FFImageLoading.Svg.Forms.Tizen.csproj
├── FFImageLoading.Svg.Forms.Touch
│ ├── FFImageLoading.Svg.Forms.Touch.csproj
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Svg.Forms.Windows
│ ├── FFImageLoading.Svg.Forms.Windows.csproj
│ └── Properties
│ ├── AssemblyInfo.cs
│ └── FFImageLoading.Svg.Forms.Windows.rd.xml
├── FFImageLoading.Svg.Mac
│ ├── FFImageLoading.Svg.Mac.csproj
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Svg.Shared
│ ├── FFImageLoading.Svg.Shared.projitems
│ ├── FFImageLoading.Svg.Shared.shproj
│ ├── Helpers
│ │ ├── ColorHelper.cs
│ │ └── CssHelpers.cs
│ ├── ISKSvgFill.cs
│ ├── MyClass.cs
│ ├── SKCanvasExtensions.cs
│ ├── SKCircle.cs
│ ├── SKLinearGradient.cs
│ ├── SKLine.cs
│ ├── SKOval.cs
│ ├── SKRadialGradient.cs
│ ├── SKRoundedRect.cs
│ ├── SkSvg.cs
│ ├── SKSvgImage.cs
│ ├── SKSvgMask.cs
│ ├── SKText.cs
│ ├── SKTextSpan.cs
│ └── SvgDataResolver.cs
├── FFImageLoading.Svg.Tizen
│ └── FFImageLoading.Svg.Tizen.csproj
├── FFImageLoading.Svg.Touch
│ ├── FFImageLoading.Svg.Touch.csproj
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
├── FFImageLoading.Svg.Windows
│ ├── FFImageLoading.Svg.Windows.csproj
│ └── Properties
│ ├── AssemblyInfo.cs
│ └── FFImageLoading.Svg.Windows.rd.xml
├── FFImageLoading.Tizen
│ ├── Cache
│ │ └── EvasImageCache.cs
│ ├── DataResolvers
│ │ ├── DataResolverFactory.cs
│ │ └── FileDataResolver.cs
│ ├── Decoders
│ │ └── BaseDecoder.cs
│ ├── Extensions
│ │ ├── TaskParameterPlatformExtensions.cs
│ │ └── UnitsExtensions.cs
│ ├── FFImageLoading.Tizen.csproj
│ ├── Helpers
│ │ ├── BitmapHolder.cs
│ │ └── EcoreThreadDispatcher.cs
│ ├── ImageService.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Targets
│ │ └── EvasImageTarget.cs
│ ├── Views
│ │ ├── EvasImageContainer.cs
│ │ └── SharedEvasImage.cs
│ └── Work
│ └── PlatformImageLoaderTask.cs
├── FFImageLoading.Touch
│ ├── Extensions
│ │ └── TaskParameterPlatformExtensions.cs
│ ├── FFImageLoading.Touch.csproj
│ ├── ImageService.cs
│ ├── packages.config
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ └── Targets
│ ├── UIBarItemTarget.cs
│ ├── UIButtonTarget.cs
│ ├── UIImageTarget.cs
│ ├── UIImageViewTarget.cs
│ └── UIViewTarget.cs
├── FFImageLoading.Transformations
│ ├── BlurredTransformation.cs
│ ├── CircleTransformation.cs
│ ├── ColorFillTransformation.cs
│ ├── ColorSpaceTransformation.cs
│ ├── CornersTransformation.cs
│ ├── CornerTransformType.cs
│ ├── CropTransformation.cs
│ ├── FFImageLoading.Transformations.csproj
│ ├── FlipTransformation.cs
│ ├── FlipType.cs
│ ├── GrayscaleTransformation.cs
│ ├── Helpers.cs
│ ├── RotateTransformation.cs
│ ├── RoundedTransformation.cs
│ ├── SepiaTransformation.cs
│ └── TintTransformation.cs
├── FFImageLoading.Transformations.Droid
│ ├── BlurredTransformation.cs
│ ├── CircleTransformation.cs
│ ├── ColorFillTransformation.cs
│ ├── ColorSpaceTransformation.cs
│ ├── CornersTransformation.cs
│ ├── CropTransformation.cs
│ ├── FFImageLoading.Transformations.Droid.csproj
│ ├── FlipTransformation.cs
│ ├── GrayscaleTransformation.cs
│ ├── RotateTransformation.cs
│ ├── RoundedTransformation.cs
│ ├── SepiaTransformation.cs
│ └── TintTransformation.cs
├── FFImageLoading.Transformations.Mac
│ ├── BlurredTransformation.cs
│ ├── CircleTransformation.cs
│ ├── ColorFillTransformation.cs
│ ├── ColorSpaceTransformation.cs
│ ├── CornersTransformation.cs
│ ├── CropTransformation.cs
│ ├── Extensions
│ │ └── NSPathExtensions.cs
│ ├── FFImageLoading.Transformations.Mac.csproj
│ ├── FlipTransformation.cs
│ ├── GrayscaleTransformation.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RotateTransformation.cs
│ ├── RoundedTransformation.cs
│ ├── SepiaTransformation.cs
│ └── TintTransformation.cs
├── FFImageLoading.Transformations.Tizen
│ ├── BlurredTransformation.cs
│ ├── CircleTransformation.cs
│ ├── ColorFillTransformation.cs
│ ├── ColorSpaceTransformation.cs
│ ├── CornersTransformation.cs
│ ├── CornerTransformType.cs
│ ├── CropTransformation.cs
│ ├── FFImageLoading.Transformations.Tizen.csproj
│ ├── FlipTransformation.cs
│ ├── FlipType.cs
│ ├── GrayscaleTransformation.cs
│ ├── RotateTransformation.cs
│ ├── RoundedTransformation.cs
│ ├── SepiaTransformation.cs
│ └── TintTransformation.cs
├── FFImageLoading.Transformations.Touch
│ ├── BlurredTransformation.cs
│ ├── CircleTransformation.cs
│ ├── ColorFillTransformation.cs
│ ├── ColorSpaceTransformation.cs
│ ├── CornersTransformation.cs
│ ├── CropTransformation.cs
│ ├── FFImageLoading.Transformations.Touch.csproj
│ ├── FlipTransformation.cs
│ ├── GrayscaleTransformation.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── RotateTransformation.cs
│ ├── RoundedTransformation.cs
│ ├── SepiaTransformation.cs
│ └── TintTransformation.cs
├── FFImageLoading.Transformations.Windows
│ ├── BlurredTransformation.cs
│ ├── CircleTransformation.cs
│ ├── ColorFillTransformation.cs
│ ├── ColorSpaceTransformation.cs
│ ├── CornersTransformation.cs
│ ├── CropTransformation.cs
│ ├── FFImageLoading.Transformations.Windows.csproj
│ ├── FlipTransformation.cs
│ ├── GrayscaleTransformation.cs
│ ├── Helpers
│ │ └── Helpers.cs
│ ├── RotateTransformation.cs
│ ├── RoundedTransformation.cs
│ ├── SepiaTransformation.cs
│ └── TintTransformation.cs
├── FFImageLoading.Windows
│ ├── app.config
│ ├── Cache
│ │ ├── FFSourceBindingCache.cs
│ │ ├── IImageCache.cs
│ │ ├── ImageCache.cs
│ │ ├── LRUCache.cs
│ │ ├── SimpleDiskCache.cs
│ │ └── WriteableBitmapLRUCache.cs
│ ├── DataResolvers
│ │ ├── DataResolverFactory.cs
│ │ ├── FileDataResolver.cs
│ │ └── ResourceDataResolver.cs
│ ├── Decoders
│ │ └── BaseDecoder.cs
│ ├── Extensions
│ │ ├── ColorExtensions.cs
│ │ ├── ImageExtensions.cs
│ │ ├── TaskParameterPlatformExtensions.cs
│ │ ├── UnitsExtensions.cs
│ │ └── WriteableBitmapExtensions.cs
│ ├── FFImageLoading.Windows.csproj
│ ├── Helpers
│ │ ├── ColorHolder.cs
│ │ ├── MainThreadDispatcher.cs
│ │ ├── MD5Helper.cs
│ │ ├── MiniLogger.cs
│ │ ├── PlatformPerformance.cs
│ │ └── ScaleHelper.cs
│ ├── ImageService.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Targets
│ │ ├── BitmapTarget.cs
│ │ └── ImageTarget.cs
│ ├── Transformations
│ │ └── TransformationBase.cs
│ ├── Views
│ │ └── MvxCachedImageView.cs
│ └── Work
│ ├── BitmapHolder.cs
│ └── PlatformImageLoaderTask.cs
└── Tests
└── FFImageLoading.Tests
├── BaseTests.cs
├── Cache
│ ├── DiskCacheTests.cs
│ ├── DownloadCache.cs
│ └── MemoryCacheTests.cs
├── Concurrency
│ ├── GenericPriorityQueueTests.cs
│ ├── PendingTasksQueueTests.cs
│ └── SimplePriorityQueueTests.cs
├── FFImageLoading.Tests.csproj
└── ImageService
└── ImageServiceBaseTests.cs
222 directories, 916 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论