其他分享
首页 > 其他分享> > Android:如何使用画布/绘制位图缩放位图以适合屏幕大小?

Android:如何使用画布/绘制位图缩放位图以适合屏幕大小?

作者:互联网

我正在拍摄图像,并使用画布将其绘制到屏幕上.我想根据屏幕尺寸缩放它.

这是我尝试过的方法,但是它会切掉大部分图像:

DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),R.drawable.myimage);
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);

Rect frameToDraw = new Rect(0, 0, width, height);
RectF whereToDraw = new RectF(0, 0, width, height);

canvas.drawBitmap(bitmap,frameToDraw,whereToDraw, paint);

我知道我做错了一些事,但我不确定是什么.此代码使图像超出屏幕尺寸.我希望将其缩放到屏幕尺寸.我还将绘制较小的图像,尽管不是全屏显示,我也需要根据屏幕的大小进行缩放.

解决方法:

Rect frameToDraw = new Rect(0, 0, width, height);
RectF whereToDraw = new RectF(0, 0, width, height);

看一下上面的代码.您没有缩放图片.您只是简单地拍摄了一部分图片(在这种情况下是整个图片),然后将其粘贴到某处(在这种情况下是原始图片的大小).

frameToDraw矩形的宽度和高度应为图片的宽度和高度.

标签:android-bitmap,android,canvas,android-canvas
来源: https://codeday.me/bug/20191011/1896625.html