webentwicklung-frage-antwort-db.com.de

Bitmap von Bild mit Glide in Android abrufen

Ich möchte die Bitmap mit Glide von einem Bild erhalten. Ich mache folgendes - 

Bitmap chefBitmap = Glide.with(MyActivity.this)
.load(chef_image)
.asBitmap()
.into(100, 100)
.get();

Früher funktionierte es mit der vorherigen Glide-Version ..__, aber in Gradle funktioniert es nicht - "compile 'com.github.bumptech.glide:glide:4.0.0'"

Ich möchte diese Abhängigkeit verwenden, da dies die neueste Version ist.

Kann mir jemand in dieser Hinsicht helfen? Danke im Voraus.

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

In der neuesten Version von Glide gibt es wenig Änderungen. Jetzt müssen wir submit() verwenden, um ein Bild als Bitmap zu laden, wenn Sie submit() nicht aufrufen, wird der Listener nicht aufgerufen. In der 4.0-Version wurde submit() hinzugefügt, um den Listener aufzurufen. Ein vom Benutzer kommentierter Code arbeitet mit GlideApp. Sie können den folgenden Code verwenden, um mit GlideApp auszuführen, wenn Sie verwenden.

hier ist ein Arbeitsbeispiel, das ich heute verwendet habe.

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();

Es funktioniert und ich erhalte Bitmap vom Zuhörer. 

7
Ashu Kumar

Sie müssen die Größe mit RequestOptions in apply () festlegen und einen RequestListener zum Abrufen der Bitmap verwenden. Das mthod asBitmap () muss vor load () aufgerufen werden. So wird es so aussehen:

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

Versuchen Sie dies in Ihrem build.gradle;

 compile 'com.github.bumptech.glide:glide:3.7.0'

und laden Sie Ihre Bitmap wie folgt.

  Glide.with(activity).load(m.getThumbnailUrl())
            .thumbnail(0.5f)
            .crossFade()
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(imageview);
0
Vishal Vaishnav

Sie sollten in Ihrem hinzufügen 

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'

Erlauben Sie auch Ihre Manifest.xml

0
Zafar Kurbonov