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