2014-01-19 2 views
0

비트 맵을 가져오고 비트 맵에 페인트 할 수있는 활동을 만들고 싶습니다. 이제 가져올 수는 있지만 비트 맵에 페인트 할 수 없습니다.비트 맵을 fingerPaint 활동으로 가져올 수 있습니까?

protected void onSizeChanged(int w, int h, int oldw, int oldh) { 
     super.onSizeChanged(w, h, oldw, oldh); 
     mBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); 
     mCanvas = new Canvas(mBitmap); 
     //mCanvas.drawColor(0xffffffff); 
    } 

    protected void onDraw(Canvas canvas) { 
     //canvas.drawColor(0xffffffff); 

     canvas.drawBitmap(bitmap, 0, 0, mBitmapPaint); 

     canvas.drawPath(mPath, mPaint); 
    } 

감사합니다.

+0

칠하려고하면 어떻게됩니까? –

+0

페인트 경로가 잠시 표시됩니다. – TooKom

답변

0

"페인트 경로 표시 잠시"귀하의 의견에서, 나는 사용자의 페인트가 나타나지만 곧 사라지는 것 같아요. 이는 사용자 도면을 통해 비트 맵을 계속해서 다시 그리기 때문입니다. 부울 검사를 추가하여 비트 맵을 한 번만 페인트해야합니다.

Boolean first = true; 

protected void onDraw(Canvas canvas){ 
    if(first) canvas.drawBitmap(bitmap, 0, 0, mBitmapPaint); 
    first = false; 
    canvas.drawPath(mPath, mPaint); 
} 
관련 문제