当两个类都处于一个活动中时,如何将位图从一个类移到另一类?

时间:2019-12-15 15:36:35

标签: android android-studio

我有一堂课,捕获照片并将位图存储在ImageView中。在另一堂课中,我得到了画笔工具(画布)。如果在第二个类中创建一个新的位图,则可以在画布上绘制,但不能从第一个类中捕获的图像上绘制。如何将位图从头等舱移到另一类?

第一类捕获图像的方法

protected void onActivityResult (int requestCode, int resultCode, Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    bitmap = (Bitmap) data.getExtras().get("data");
    imageView.setImageBitmap(bitmap);
}

第二类使用画笔工具和空白画布的方法

public void init(DisplayMetrics metrics) {
    int height = metrics.heightPixels;
    int width = metrics.widthPixels;
    mBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    mCanvas = new Canvas(mBitmap);
    currentColor = DEFAULT_COLOR;
    strokeWidth = BRUSH_SIZE;
}

2 个答案:

答案 0 :(得分:0)

保存位图并获取其路径。现在,将该路径传递到您的活动意图中。然后使用intent.getExtras()

从其他活动中检索它

要保存位图,您可以选中此答案'How to save a bitmap on internal storage'

如果不是活动,则使用set get方法

public void setBitmap( Bitmap b ) {
bitmap= b;

}

public Bitmap getBitmap() {
return bitmap;
}'

查看本教程的set get方法 'http://www.javawithus.com/tutorial/get-and-set-methods'

答案 1 :(得分:0)

只需使用一个静态位图变量

将接收到的位图设置为该变量,并通过其类名直接将该变量访问到第二个活动中。