使用位图作为背景在SurfaceView上绘制

时间:2016-06-16 01:37:30

标签: android android-canvas surfaceview android-bitmap

在我的Android应用程序中,我有一个带位图的图像视图。我希望能够在用户触摸此图像视图时绘制矩形或徒手画。我现在可以使用画布绘制这些形状。但是,如果我使用画布,我必须将图像视图中的位图复制到临时图像,然后按如下方式创建画布 -

 Bitmap bitmap = ((BitmapDrawable)closestImageView.getDrawable()).getBitmap();
        //need to get the dimensions of scaled bitmap
        alteredBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
        canvas = new Canvas(alteredBitmap);
        paint = new Paint();
        paint.setColor(Color.RED);
        paint.setStrokeWidth(3);

        //matrix.s
        canvas.drawBitmap(bitmap, 0,0, paint);
        closestImageView.setImageBitmap(alteredBitmap);

但是在绘制之后我想将图像(只有用户绘制的矩形或手绘线)保存到新的位图。目前使用这种canvas方法,它也保存了原始位图,因为它是画布的一部分。 从我读到的,看来Surface View是实现这一目标的正确方法吗?我怎样才能实现我想要的功能?

由于

AG

0 个答案:

没有答案