我无法理解 android 缩放是如何工作的,我使用了一个矩阵并将位图的大小从 540 x 960 缩放,当我按 1.067 和 1.023 缩放时结果是 682 x 368。
540 * 1.067 = 576 not 368
960 * 1.023 = 981 not 682
我无法理解缩放的逻辑,以及它缩放的值从 0.67 变为 0.7 而不是我放在那里的 1.067 和 1.023。
有谁知道这是如何工作并帮助我的?
编辑:继承人进行缩放的代码:
public Bitmap resizeBitmap(Bitmap b){
int width = b.getWidth();
int height = b.getHeight();
Matrix max = new Matrix();
max.postScale(Vars.screenWidthMulti, Vars.screenHeightMulti);
Bitmap resizedBitmap = Bitmap.createBitmap(b, 0, 0, width, height, max, false);
return resizedBitmap;
}
我不知道 Bitmap.createScaledBitmap 但如果它有助于它给出相同的结果,所以我猜它只是一个缩放矩阵,如下所示:/
EDIT2:我发现在两个轴上缩放 1.5f 使位图成为原始大小,现在通过分割长度得到的缩放因子似乎与缩放矩阵使用不匹配,所以我不知道如何“转换”他们让它正常工作。