Я знаю, що це питання досить старе, але, як з'являється нове програмне забезпечення, воно допомагає отримати нові посилання на проекти, які можуть бути цікавими для людей.
imgscalr - це чиста Ява зміна розміру зображення (та прості операційні системи, такі як підшивка, обрізання, обертання, покращення / затемнення тощо), що болісно просте у використанні - один клас складається з набору простих графічних операцій, усіх визначених як статичні методи, які ви передаєте зображення і отримуєте результат.
Найбільш базовий приклад використання бібліотеки виглядатиме так:
BufferedImage thumbnail = Scalr.resize(image, 150);
А більш типове використання для створення мініатюр зображення за допомогою декількох якісних перетворень тощо може виглядати так:
import static org.imgscalr.Scalr.*;
public static BufferedImage createThumbnail(BufferedImage img) {
// Create quickly, then smooth and brighten it.
img = resize(img, Method.SPEED, 125, OP_ANTIALIAS, OP_BRIGHTER);
// Let's add a little border before we return result.
return pad(img, 4);
}
Усі операції по обробці зображень використовують необроблений конвеєр Java2D (який апаратно прискорюється на основних платформах) і не спричинятимуть виклику через JNI, як у бібліотеці суперечки.
imgscalr також був розгорнутий у масштабних виробництвах у небагатьох місцях - включення класу AsyncScalr робить його ідеальним для будь-якої обробки зображень на стороні сервера.
Існує чимало налаштувань якості зображення, які можна використовувати для торгування між швидкістю та якістю з найвищим режимом ULTRA_QUALITY, що забезпечує масштабований результат, який виглядає краще, ніж реалізація Lancoz3 GIMP.