Im looking for a way to use bitmap as input to Glide. I am even not sure if its possible. It's for resizing purposes. Glide has a good image enhancement with scale. The problem is that I have resources as bitmap already loaded to memory. The only solution I could find is to store images to temporary file and reload them back to Glide as inputStream/file.. Is there a better way to achieve that ?
Please before answering .. Im not talking about output from Glide.. .asBitmap().get()
I know that.I need help with input.
Here is my workaround solution:
Bitmap bitmapNew=null; try { // ContextWrapper cw = new ContextWrapper(ctx); File directory = cw.getDir("imageDir", Context.MODE_PRIVATE); File file=new File(directory,"temp.jpg"); FileOutputStream fos = new FileOutputStream(file); bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos); fos.close(); // bitmapNew = Glide .with(ctx) .load(file) .asBitmap() .diskCacheStrategy(DiskCacheStrategy.NONE) .skipMemoryCache(true) .into( mActualWidth, mActualHeight - heightText) .get(); file.delete(); } catch (Exception e) { Logcat.e( "File not found: " + e.getMessage()); }
I'd like to avoid writing images to internal and load them again.That is the reason why Im asking if there is way to to have input as bitmap
Thanks
To simply load an image to LinearLayout, we call the with() method of Glide class and pass the context, then we call the load() method, which contains the URL of the image to be downloaded and finally we call the into() method to display the downloaded image on our ImageView.
Add a template column in the Glide data editor, containing the image or url of the default picture. Then, add an if/then/else column in the data editor : if “user image” is empty then “default image” else “user image”.
For version 4 you have to call asBitmap()
before load()
GlideApp.with(itemView.getContext()) .asBitmap() .load(data.getImageUrl()) .into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {} }); }
More info: http://bumptech.github.io/glide/doc/targets.html
This solution is working with Glide V4. You can get the bitmap like this:
Bitmap bitmap = Glide .with(context) .asBitmap() .load(uri_File_String_Or_ResourceId) .submit() .get();
Note: this will block the current thread to load the image.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With