Существует сжатие цветов («качество сжатия») и разрешение сжатия («изменение размера»). Например. Я получил фото 4 Мб с разрешением 270 КБ с очень низким «качеством сжатия», но это выглядело ужасно, но я уменьшил его до 12 КБ с приемлемым качеством, но меньшего размера.
Моя рекомендация по изменению размера:
https://github.com/rkalla/imgscalr/blob/master/src/main/java/org/imgscalr/Scalr.java
Хотелось бы, чтобы изменение размера было частью стандартных библиотек Java, но, похоже, это не так (или есть проблемы с качеством изображения со стандартными методами?). Но библиотека Рияда действительно маленькая - это всего лишь один класс. Я просто скопировал этот класс в свой проект, потому что я никогда не учился использовать Maven, и он прекрасно работает.
Как мне сжать изображения с помощью Java?
Моя рекомендация по качеству сжатия: см. Ответ fujy в:
Как мне сжать изображения с помощью Java?