Как сжимать растровое изображение Android и не менять ширину или высоту

Я хочу сжать растровое изображение, но не хочу изменять ширину и высоту. Мой тип растрового изображения - .PNG, поэтому bitmap.compress() не имеет никакого эффекта. Мне нужен способ решить эту проблему.


person Crazy Zhang    schedule 11.01.2017    source источник
comment
проверьте эту ссылку. stackoverflow.com/questions/477572/   -  person dipali    schedule 11.01.2017
comment
Я не могу изменить ширину и высоту изображения, они важны для меня, мне нужно сжимать картинку, не меняя ширину и высоту @SadiqMdAsif   -  person Crazy Zhang    schedule 11.01.2017
comment
BitmapFactory.decodeStream(new FileInputStream(f), null, o); метод изменения ширины и высоты растрового изображения. @ Dipali   -  person Crazy Zhang    schedule 11.01.2017
comment
Это невозможно. Параметр качества функции Bitmap.compress в случае PNG игнорируется, он уже как можно меньше. На самом деле, если бы вы могли без потерь сжать PNG до меньшего размера без изменения ширины или высоты, не думаете ли вы, что это уже будет делать это по умолчанию? В некоторых программах для редактирования изображений, например В GIMP вы можете настроить уровень сжатия PNG, чтобы получить меньший размер за счет более медленного кодирования / декодирования, но для этого на Android вам понадобится библиотека PNG.   -  person samgak    schedule 11.01.2017
comment
Спасибо, я знаю, что мою проблему практически невозможно решить по-моему, я только хочу попытаться найти ответ. Я пытаюсь opt.inSampleSize = 2;Bitmap result = BitmapFactory.decodeStream(isBm, null, opt);, а затем matrixs.setScale(2f, 2f); Bitmap result2 = Bitmap.createBitmap(result, 0, 0, result.getWidth(), result.getHeight(), matrixs, true);Ширина растрового изображения не меняется, а размер был сжат, но уменьшен @ samgak   -  person Crazy Zhang    schedule 11.01.2017


Ответы (1)


Если вы хотите уменьшить размер изображения или количество байтов растрового изображения, вот хорошая библиотека на GitHub:

https://github.com/zetbaitsu/Compressor

person Nikola    schedule 20.01.2017