Je veux obtenir le bitmap d'une image en utilisant Glide. Je fais ce qui suit -
Bitmap chefBitmap = Glide.with(MyActivity.this)
.load(chef_image)
.asBitmap()
.into(100, 100)
.get();
Cela fonctionnait avec la version précédente de Glide . Mais cela ne fonctionne pas avec ceci dans gradle - "compile 'com.github.bumptech.glide:glide:4.0.0'"
Je veux utiliser cette dépendance parce que c'est la dernière version.
Quelqu'un peut-il m'aider à cet égard. Merci d'avance.
Bitmap chefBitmap = Glide.with(MyActivity.this)
.asBitmap()
.load(chef_image)
.submit()
.get();
Il y a peu de changements selon la dernière version de Glide
. Nous devons maintenant utiliser submit()
pour charger l'image en tant que bitmap. Si vous n'appelez pas submit()
, l'auditeur ne sera pas appelé. Dans la version 4.0, submit()
a été ajouté et afin d'appeler le programme d'écoute. Un des codes commentés par l'utilisateur travaille avec GlideApp
. Vous pouvez utiliser le code ci-dessous pour exécuter avec GlideApp si vous utilisez.
voici l'exemple de travail que j'ai utilisé aujourd'hui.
Glide.with(cxt)
.asBitmap().load(imageUrl)
.listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object o, Target<Bitmap> target, boolean b) {
Toast.makeText(cxt,getResources().getString(R.string.unexpected_error_occurred_try_again),Toast.LENGTH_SHORT).show();
return false;
}
@Override
public boolean onResourceReady(Bitmap bitmap, Object o, Target<Bitmap> target, DataSource dataSource, boolean b) {
zoomImage.setImage(ImageSource.bitmap(bitmap));
return false;
}
}
).submit();
Cela fonctionne et je reçois un bitmap de listener.
Vous devez définir la taille avec RequestOptions dans apply () et utiliser un RequestListener pour extraire le bitmap. Le mthod asBitmap () doit être appelé avant load (). Donc ça va ressembler à ça:
Glide.with(getContext().getApplicationContext())
.asBitmap()
.load(chef_image)
.apply(new RequestOptions().override(100, 100))
.listener(new RequestListener<Bitmap>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
// resource is your loaded Bitmap
return true;
}
});
Essayez ceci dans votre build.gradle;
compile 'com.github.bumptech.glide:glide:3.7.0'
et chargez votre bitmap comme ci-dessous;
Glide.with(activity).load(m.getThumbnailUrl())
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageview);
Vous devriez ajouter dans votre
dependencies{
compile 'com.github.bumptech.glide:glide:4.0.0'
compile 'com.Android.support:support-v4:25.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'
En outre, donnez la permission dans votre fichier manifest.xml