Android 以位图的形式获取ImageButton的背景
我有一个Android 以位图的形式获取ImageButton的背景,android,bitmap,imagebutton,android-imagebutton,Android,Bitmap,Imagebutton,Android Imagebutton,我有一个画布和一个图像按钮。我正在尝试获取我的ImageButton的背景图像,并将其设置为画布的背景图像。我的画布使用drawBitmap()函数设置背景,因此它接收位图。但是,myImageButton的getBackground()函数返回一个可绘制的 如何获取ImageButton的背景并将其设置为画布的背景 canvas.setBackground(drawableFromImageButton.getConstantState().newDrawable()); 当画布处于视图状态
画布
和一个图像按钮
。我正在尝试获取我的ImageButton
的背景图像,并将其设置为画布的背景图像。我的画布使用drawBitmap()
函数设置背景,因此它接收位图。但是,myImageButton的getBackground()
函数返回一个可绘制的
如何获取ImageButton
的背景并将其设置为画布的背景
canvas.setBackground(drawableFromImageButton.getConstantState().newDrawable());
当画布处于视图状态时,可以使用setBackground方法。您可以按照以下方式从可绘制的中获取位图
Drawable drawable = imageButton.getBackground();
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
像这样试试。这可能会有帮助
Drawable drawable = imageButton.getDrawable();
Bitmap bitmap = ((BitmapDrawable)drawable).getBitmap();
在那次电话之后
canvas.setBitmap(bitmap);
如果制作自定义画布,可以直接设置drawable以设置背景
照此-
customCanvas.setBackground(imageview.getBackground());
文件上写着像tbis一样-
void setBackground(Drawable background)
将背景设置为给定的可绘制背景,或删除背景
绘图仅用于在画布顶部绘制
我希望这能对您有所帮助。我使用的画布是一个扩展视图的自定义类,而不是androids画布,所以我不确定这是否可行。另外,它不允许我在图像按钮drawable上调用clone()
。发布一些代码…我得到以下android.graphics.drawable.ColorDrawable无法转换为android.graphics.drawable.BitmapDrawable