如何使用Glide Library获取位图,因为我想在画布上绘制该位图图像。 Glide只允许我将图像添加到ImageView。
有没有办法让我可以通过Glide获得精确的位图,以便我可以将它绘制到画布上。
目前我正在使用
Bitmap bitmapImage = BitmapFactory.decodeResource(getResources(), wallpaper_image_id);
我收到此错误
java.lang.OutOfMemoryError: Failed to allocate a 43776012 byte allocation with 16767008 free bytes and 40MB until OOM
答案 0 :(得分:1)
也许目标就是你需要的。看看Here。
Glide.with(yourApplicationContext))
.load(youUrl)
.asBitmap()
.into(new SimpleTarget<Bitmap>(myWidth, myHeight) {
@Override
public void onResourceReady(Bitmap bitmap, GlideAnimation anim) {
// Do something with bitmap here.
}
};
在onResourceReady
内,您已准备好将位图加载到您想要的位置。
修改强>
您的应用崩溃是因为您需要在ui线程中运行代码。试试这个:
// Get a handler that can be used to post to the main thread
Handler mainHandler = new Handler(context.getMainLooper());
Runnable myRunnable = new Runnable() {
@Override
public void run() {....} // Your code goes inside the run method
};
mainHandler.post(myRunnable);