2016-10-08 6 views
0

캔버스에 비트 맵을 그릴 때 canvas.drawbitmap(bitmap,matrix,paint)을 사용했습니다. 예, 대부분의 시간이 걸렸습니다! 그러나 때로는 효과가 없었습니다. 방법을 호출 한 후에 캔버스에 아무것도 없었습니다 canvas.drawbitmap(); 그래서, 무엇이 잘못 되었나요? canvas.drawbitmap 가끔 작동하지 않습니다.

1

: 나는 앨범에서 사진을 선택하고 bgBitmap

2라는 이름의 비트 맵 얻었다하십시오 CanvasView 만든 View을 확장합니다. 그런 다음 캔버스에 무언가를 그리는 빈 비트 맵을 만듭니다.

mBitmap = Bitmap.createBitmap(screenWidth, screenHeight,Bitmap.Config.RGB_565); 
mCanvas = new Canvas(mBitmap); 
mCanvas.drawColor(Color.WHITE); 

protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.drawColor(getResources().getColor(R.color.color_white)); 
    canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint); 
} 

3 : 캔버스에 그림을 그립니다.

mCanvas.drawBitmap(bgBitmap,matrix, bitmapPaint); 
this.invalidate(); 

대부분의 경우 작동했지만 때로는 작동하지 않았습니다.

+0

코드를 표시하십시오. – Thinsky

답변

0

1 : 앨범에서 사진을 선택하고 bgBitmap이라는 비트 맵을 얻었습니다.

2 : View를 확장하는 CanvasView를 만들었습니다. 캔버스에 빈 비트 맵을 만들어서 그 위의 페인트를 그립니다.

mBitmap = Bitmap.createBitmap(screenWidth, screenHeight,Bitmap.Config.RGB_565); 
mCanvas = new Canvas(mBitmap); 
mCanvas.drawColor(Color.WHITE); 

protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    canvas.drawColor(getResources().getColor(R.color.color_white)); 
    canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint); 
} 

3 : 캔버스에 그림을 그립니다.

mCanvas.drawBitmap(bgBitmap,matrix, bitmapPaint); 
this.invalidate(); 

대부분의 경우 작동했지만 가끔 작동하지 않았습니다.

관련 문제