luberda-molinet / FFImageLoading

Image loading, caching & transforming library for Xamarin and Windows
MIT License
1.42k stars 377 forks source link

Blurred transformation fails on Android #1532

Open ndastur opened 3 years ago

ndastur commented 3 years ago

🐛 Bug Report

I have an image that loads correctly without the blur transformation. It is also fine with circle transformation. But a blurred one fails. Image format is a Jpeg. Works fine on iOS


Android.Renderscripts.RSInvalidStateException: Bad bitmap type: RGBA_F16
  at Java.Interop.JniEnvironment+StaticMethods.CallStaticObjectMethod (Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0006e] in <94b04e1756104d1fa1d144932ae2720c>:0 
  at Java.Interop.JniPeerMembers+JniStaticMethods.InvokeObjectMethod (System.String encodedMember, Java.Interop.JniArgumentValue* parameters) [0x00018] in <94b04e1756104d1fa1d144932ae2720c>:0 
  at Android.Renderscripts.Allocation.CreateFromBitmap (Android.Renderscripts.RenderScript rs, Android.Graphics.Bitmap b, Android.Renderscripts.Allocation+MipmapControl mips, Android.Renderscripts.AllocationUsage usage) [0x00084] in /Users/builder/azdo/_work/278/s/xamarin-android/src/Mono.Android/obj/Release/monoandroid10/android-30/mcw/Android.Renderscripts.Allocation.cs:2751 
  at FFImageLoading.Transformations.BlurredTransformation.ToBlurred (Android.Graphics.Bitmap source, Android.Content.Context context, System.Single radius) [0x00047] in C:\projects\ffimageloading\source\FFImageLoading.Transformations.Droid\BlurredTransformation.cs:59 
  at FFImageLoading.Transformations.BlurredTransformation.Transform (Android.Graphics.Bitmap sourceBitmap, System.String path, FFImageLoading.Work.ImageSource source, System.Boolean isPlaceholder, System.String key) [0x00000] in C:\projects\ffimageloading\source\FFImageLoading.Transformations.Droid\BlurredTransformation.cs:48 
  at FFImageLoading.Transformations.TransformationBase.Transform (FFImageLoading.Work.IBitmap bitmapHolder, System.String path, FFImageLoading.Work.ImageSource source, System.Boolean isPlaceholder, System.String key) [0x00007] in C:\projects\ffimageloading\source\FFImageLoading.Droid\Transformations\TransformationBase.cs:13 
  at FFImageLoading.PlatformImageLoaderTask`1[TImageView].TransformAsync (Android.Graphics.Bitmap bitmap, System.Collections.Generic.IList`1[T] transformations, System.String path, FFImageLoading.Work.ImageSource source, System.Boolean isPlaceholder) [0x000b4] in C:\projects\ffimageloading\source\FFImageLoading.Droid\Work\PlatformImageLoadingTask.cs:143 
  --- End of managed Android.Renderscripts.RSInvalidStateException stack trace ---
android.renderscript.RSInvalidStateException: Bad bitmap type: RGBA_F16
    at android.renderscript.Allocation.elementFromBitmap(Allocation.java:2767)
    at android.renderscript.Allocation.typeFromBitmap(Allocation.java:2772)
    at android.renderscript.Allocation.createFromBitmap(Allocation.java:2811)```

### Expected behavior

Image blurs and displays on Android

### Reproduction steps

### Configuration

**Version:** 2.4.11.982

**Platform:** 
- [ ] :iphone: iOS
- [x] :robot: Android
- [ ] :checkered_flag: WPF
- [ ] :earth_americas: UWP
- [ ] :apple: MacOS
- [ ] :tv: tvOS
- [ ] :monkey: Xamarin.Forms