Используйте Bitmap.createScaledBitmap , как предлагали другие.
Однако эта функция не слишком умна.Если вы масштабируете до размера менее 50%, вы, вероятно, получите это:
![enter image description here](https://i.stack.imgur.com/CGE3e.png)
Вместо этого:
![enter image description here](https://i.stack.imgur.com/pVFTd.png)
Видите ли вы плохое сглаживание 1-го изображения?createScaledBitmap получит вам этот результат.
Причиной является пиксельная фильтрация, при которой некоторые пиксели полностью пропускаются из источника при масштабировании до <50%. </p>
Чтобы получить 2-й результат качества, вам нужно уменьшить вдвоеРазрешение растрового изображения, если оно более чем в 2 раза превышает желаемый результат, затем, наконец, вы вызываете метод createScaledBitmap.
И существует больше подходов для деления пополам (или четверти, или увеличения) изображений.Если у вас есть растровое изображение в памяти, вы рекурсивно вызываете Bitmap.createScaledBitmap, чтобы разделить изображение пополам.
Если вы загружаете изображение из файла JPG, реализация будет еще быстрее: вы используете BitmapFactory.decodeFile и настройте параметрыПравильный параметр, в основном поле inSampleSize , которое управляет подвыборкой загруженных изображений, используя характеристики JPEG.
Многие приложения, предоставляющие миниатюры изображений, используют вслепую Bitmap.createScaledBitmap, а миниатюры просто ужасны.Будьте умны и используйте правильное понижение изображения.