Я не могу понять, как работает масштабирование андроида, я использовал матрицу и постмасштабировал битмап из размера 540 на 960 и получается 682 на 368, когда я масштабирую на 1,067 и 1,023.
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 по обеим осям сделало растровое изображение исходным размером, теперь коэффициент масштабирования, полученный путем деления длин, похоже, не совпадает с использованием матриц масштабирования, поэтому я понятия не имею, как «конвертировать» их для правильной работы.
intrinsic
высота и ширина. - person Mehul Joisar   schedule 16.05.2013