2016-10-08 6 views
0

canvas.drawbitmap(bitmap,matrix,paint)を使用してキャンバスにビットマップを描画しました。 はい、ほとんどの時間がかかりました!しかし、時にはうまくいきませんでした。私がこのメソッドを呼び出した後、キャンバスに何もなかったcanvas.drawbitmap(); だから、何が間違っているのですか?canvas.drawbitmapが動作しない場合があります

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(); 

ほとんどの場合は機能しましたが、動作しないことがありました。

+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(); 

ほとんどの場合動作しましたが、動作しないことがありました。

関連する問題