Android canvas.drawbitmap有时不起作用
我使用Android canvas.drawbitmap有时不起作用,android,canvas,drawbitmap,Android,Canvas,Drawbitmap,我使用canvas.drawbitmap(位图、矩阵、绘画)在画布上绘制位图。 是的,它大部分时间都有效!但有时它不起作用。调用方法canvas.drawbitmap()后,画布上没有任何内容 那么,怎么了 1:我从相册中选择了一张图片,得到了名为bgpistmap 2:创建了一个画布视图,它扩展了视图。然后在画布上创建一个空位图,以便在其上绘制一些内容 mBitmap = Bitmap.createBitmap(screenWidth, screenHeight,Bitmap.Config.R
canvas.drawbitmap(位图、矩阵、绘画)
在画布上绘制位图。
是的,它大部分时间都有效!但有时它不起作用。调用方法canvas.drawbitmap()后,画布上没有任何内容代码>
那么,怎么了
1:我从相册中选择了一张图片,得到了名为bgpistmap
2:创建了一个画布视图
,它扩展了视图
。然后在画布上创建一个空位图,以便在其上绘制一些内容
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);
}
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();
mCanvas.drawBitmap(bgBitmap,matrix, bitmapPaint);
this.invalidate();
它在大部分时间都有效,但有时不起作用。1:
我从相册中选择了一张图片,得到了名为bgBitmap的位图
2:
创建一个扩展视图的画布视图。然后,在画布上创建一个空位图,以便在其上绘制一些内容
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);
}
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();
mCanvas.drawBitmap(bgBitmap,matrix, bitmapPaint);
this.invalidate();
它在大多数情况下都有效,但有时不起作用。我遇到了类似的问题……起初“canvas.drawBitmap()”有效,但后来它停止了工作,这取决于我试图显示的位图。我在处理照片。我把一张24Mb的全景照片缩小到了400K左右,但即使这样也太大了。当我进一步缩小jpeg大小时(缩小分辨率-而不是降低颜色质量),它开始可靠地工作。显示您的代码