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.
Bitmap chefBitmap = Glide.with(MyActivity.this)
.asBitmap()
.load(chef_image)
.submit()
.get();
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.
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;
}
});
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);
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