web-dev-qa-db-ja.com

androidでGlideを使用して画像からビットマップを取得する

Glideを使用して画像からビットマップを取得したい。私は次のことをしています-

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

以前は、以前のGlideバージョンで動作していました。しかし、これはgradleでは動作しません-"compile 'com.github.bumptech.glide:glide:4.0.0'"

これは最新バージョンであるため、この依存関係を使用します。

誰でもこの点で私を助けることができます。前もって感謝します。

9
Zachary
Bitmap chefBitmap = Glide.with(MyActivity.this)
.asBitmap()
.load(chef_image)
.submit()
.get();
18

Glideの最新バージョンによると、ほとんど変更はありません。 submit()を使用して、画像をビットマップとしてロードする必要があります。submit()を呼び出さない場合、リスナーは呼び出されません。 4.0バージョンでは、submit()が追加され、リスナーを呼び出します。ユーザーがコメントしたコードの1つがGlideAppで機能しています。使用している場合は、以下のコードを使用してGlideAppで実行できます。

ここに私が今日使用した実例があります。

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

動作しており、リスナーからビットマップを取得しています。

11
Ashu Kumar

Apply()のRequestOptionsでサイズを設定し、RequestListenerを使用してビットマップを取得する必要があります。 mthod asBitmap()は、load()の前に呼び出す必要があります。したがって、次のようになります。

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

Build.gradleでこれを試してください。

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

以下のようにビットマップをロードします;

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

を追加する必要があります

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'

また、manifest.xmlで許可を与えます

0
Zafar Kurbonov