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'"
これは最新バージョンであるため、この依存関係を使用します。
誰でもこの点で私を助けることができます。前もって感謝します。
Bitmap chefBitmap = Glide.with(MyActivity.this)
.asBitmap()
.load(chef_image)
.submit()
.get();
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();
動作しており、リスナーからビットマップを取得しています。
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;
}
});
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);
を追加する必要があります
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で許可を与えます