2

以前canvas.drawbitmap(bitmap,matrix,paint)はキャンバスにビットマップを描いていました。はい、ほとんどの場合うまくいきました!しかし、うまくいかないこともありました。メソッドを呼び出した後、キャンバスには何もありません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();

ほとんどの場合はうまくいきましたが、うまくいかないこともありました。

4

2 に答える 2

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

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

于 2016-10-08T03:59:58.493 に答える