web-dev-qa-db-fra.com

Obtenir des images bitmap à l’aide de Glide dans Android

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.

6
Anupam Bose
Bitmap chefBitmap = Glide.with(MyActivity.this)
.asBitmap()
.load(chef_image)
.submit()
.get();
13
Anand Khinvasara

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. 

7
Ashu Kumar

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;
        }
    });
5
Björn Kechel

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);
0
Vishal Vaishnav

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

0
Zafar Kurbonov