Да, у меня были те же проблемы, и я их решил, прочитайте мой вопрос (ответ включен в вопрос).Я попробовал imgscalr и java-image-scaling библиотеки и обнаружил, что второе намного лучше.Подойдите ближе к монитору, чтобы оценить разницу между примерами с миниатюрами.
Несмотря на мои первоначальные мысли, изменение размера изображения кажется очень сложной задачей, вы не хотите делать это самостоятельно.Например, я говорю java-image-scaling , чтобы использовать ResampleFilters.getLanczos3Filter()
для получения лучшего результата.
В нем также описывается, как сохранить JPG с качеством, превышающим стандарт 75, который производитплохой результат, особенно для миниатюр.
Я также написал небольшой класс, который называется MyImage
, чтобы помочь с общими задачами, такими как чтение изображения из байтового массива из файламасштабирование путем указания только ширины или только высоты, масштабирование путем указания ограничивающей рамки, масштабирование путем указания ширины и высоты и добавление белой полосы, чтобы изображение не искажалось, и запись в файл JPG.