我使用canvas.drawbitmap(bitmap,matrix,paint)
在画布上绘制位图。
是的,它大部分时间都有效!但有时它不起作用。在调用方法canvas.drawbitmap();
后,画布上没有任何内容
那么,出了什么问题?
1:我从相册中选择了一张图片,并获得了名为bgBitmap
2:创建了一个扩展CanvasView
的{{1}}。然后在画布上创建一个空位图,在其上绘制一些东西。
View
3:在画布上画画。
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);
}
大部分时间都有效,但有时它不起作用。
答案 0 :(得分:0)
1: 我从相册中选择了一张图片并获得了名为bgBitmap的位图;
2: 创建了一个CanvasView,它扩展了View.Then,在画布上创建一个空位图,在其上绘制一些东西。
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();
它在大多数时间都有效,但有时它不起作用。
答案 1 :(得分:0)
我有一个类似的问题....起初" canvas.drawBitmap()"工作,但它停止工作,取决于我试图显示的位图。我正在处理照片。我将一张24Mb的全景照片缩小到大约400K,但即使这样太大了。当我进一步缩小jpeg尺寸时(缩小分辨率 - 不降低颜色质量),它开始可靠地工作。