2013-11-29 23 views
1

清潔畫布區域我有兩個imageviews一個是畫廊形象,一個是在第二圖像透明圖像繪製拋畫布,我想通過手指來清除該透明圖像如何通過手指

我試圖做類似 鏈接:https://play.google.com/store/apps/details?id=com.steam.doodle&hl=en

我tryd以下代碼

公共類MainActivity延伸活動實現OnTouchListener {

ImageView image,transimage; 
Paint paint; 
Bitmap bitmap,resultbitmap; 
Canvas canvas; 
Button clear; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    image=(ImageView)findViewById(R.id.imageView1); 
    transimage=(ImageView)findViewById(R.id.imageView2); 

    //Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.saibaba); 
     Bitmap mBitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.snw); 
     Bitmap bmOverlay = Bitmap.createBitmap(mBitmap2.getWidth(), mBitmap2.getHeight(), mBitmap2.getConfig()); 
     Canvas canvas = new Canvas(); 
     canvas.setBitmap(bmOverlay); 
     paint=new Paint(); 
     paint.setAlpha(200); 
     // canvas.drawBitmap(mBitmap, 0, 0, null); 
     canvas.drawBitmap(mBitmap2, 0, 0, paint); 
     transimage.setImageBitmap(bmOverlay); 

}}

如何清洗用手指

回答

0

你只需要設置顏色爲透明的方法的onDraw畫布。這是經過測試的代碼並正在工作。

@Override 
      protected void onDraw(Canvas canvas) { 

       if(isEraseMode){ 
        paint.setColor(Color.TRANSPARENT); 
        canvas.drawPath(eraserPath, erasePaint); 
        //canvas.save(); 
       }else{ 
        canvas.drawPath(path, paint); 
        canvas.restore(); 
       } 
       canvas.drawPath(path, paint); 

        super.dispatchDraw(canvas); 

      } 

希望這會幫助你.. :)

+0

@priyanaka我沒有得到任何想法 – user2783757