Мне нужно уменьшить мои изображения (+ - 2500 пикселей на одну сторону), чтобы показать их на моих устройствах в моем приложении. Но у меня есть одна проблема. Если я уменьшаю изображения с моим кодом (немного дальше вниз), изображения отображаются, но сторона отключается. Высота изображения отлично с моим кодом. Я разукрупнение мои изображения с этим кодом:Уменьшение масштаба изображения и его полное отображение
static public Bitmap scaleToFill(Bitmap b, int width, int height) {
float factorH = height/(float) b.getWidth();
float factorW = width/(float) b.getWidth();
float factorToUse = (factorH > factorW) ? factorW : factorH;
return Bitmap.createScaledBitmap(b, (int) (b.getWidth() * factorToUse), (int) (b.getHeight() * factorToUse), false);
}
Высота и ширина я получаю с этим:
WindowManager wm = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
Изображение рассматривается в ImageView с ScaleType CENTER_CROP. Надеюсь, кто-то может мне помочь! Заранее спасибо!
Вы пытались установить 'CENTER_INSIDE' на ImageView вместо' CENTER_CROP'? – Jave
Jave, это может сработать, но если изображение нужно сделать большим, то оно больше не будет работать. – Marc
Почему это не работает? Изображение не изменяет размер исходного файла. Единственное, что делает «CENTER_INSIDE», это убедиться, что отображаемое изображение соответствует изображению, сохраняя при этом его пропорции. – Jave