Programming/Android

android convert drawable to bitmap

Min 2017. 6. 30. 17:43


glide에서 사용되는 것을 bitmap으로 변환함


public static Bitmap getBitmapFromDrawable(ImageView iv){
Logger.log("#688 iv->"+iv.getDrawable());
Bitmap bitmap = null;
Drawable drawable = iv.getDrawable();
if(drawable == null){
return bitmap;
}
if (drawable instanceof GlideBitmapDrawable) {
bitmap = ((GlideBitmapDrawable) drawable).getBitmap();
} else if (drawable instanceof TransitionDrawable) {
TransitionDrawable transitionDrawable = (TransitionDrawable) drawable;
int length = transitionDrawable.getNumberOfLayers();
for (int i = 0; i < length; ++i) {
Drawable child = transitionDrawable.getDrawable(i);
if (child instanceof GlideBitmapDrawable) {
bitmap = ((GlideBitmapDrawable) child).getBitmap();
break;
} else if (child instanceof SquaringDrawable
&& child.getCurrent() instanceof GlideBitmapDrawable) {
bitmap = ((GlideBitmapDrawable) child.getCurrent()).getBitmap();
break;
}
}
} else if (drawable instanceof SquaringDrawable) {
bitmap = ((GlideBitmapDrawable) drawable.getCurrent()).getBitmap();
}

return bitmap;
}