0
我目前正在加载可以是横向或纵向的图像。设置基于最小高度和宽度的android位图大小保持宽高比
我然后想要调整位图的大小直接绘制到全屏图像的画布上。
我需要保持高宽比,但图像不适合屏幕,但剪掉任何比屏幕大的图像。
我可以调整它,它具有以下适合屏幕:
Matrix m = new Matrix();
m.setRectToRect(new RectF(0, 0, b.getWidth(), b.getHeight()), new RectF(0, 0, MyWallpaperService.this.width, MyWallpaperService.this.height), Matrix.ScaleToFit.CENTER);
b = Bitmap.createBitmap(b, 0, 0, b.getWidth(), b.getHeight(), m, true);
,但我不希望有在顶部/底部或两侧的黑边,但我想不出例程的正确调整为此。
只需设置ImageView ScaleType即可。任何不使用ScaleType的原因。 – Sharj
这是一个动态壁纸,我直接绘制到画布上,需要调整图像大小以便更快处理,因为原始图像可以由用户选择,它们可以非常大或小于屏幕尺寸。 – Andrew
你不需要'Bitmap.createBitmap',当调用'Canvas.drawBitmap'时只需要使用原始的'Bitmap'和计算的'Matrix' – pskink