Ich weiß, dass diese Frage ziemlich alt ist, aber wenn neue Software herauskommt, hilft es, neue Links zu Projekten zu erhalten, die für Leute interessant sein könnten.
imgscalr ist eine reine Java-Bildgrößenänderungsbibliothek (und einfache Operationen wie Auffüllen, Zuschneiden, Drehen, Aufhellen / Dimmen usw.), die schmerzlich einfach zu verwenden ist - eine einzelne Klasse besteht aus einer Reihe einfacher Grafikoperationen, die alle als statische Methoden definiert sind Sie übergeben ein Bild und erhalten ein Ergebnis zurück.
Das grundlegendste Beispiel für die Verwendung der Bibliothek sieht folgendermaßen aus:
BufferedImage thumbnail = Scalr.resize(image, 150);
Eine typischere Verwendung zum Generieren von Bildminiaturen mit ein paar Qualitätsverbesserungen und dergleichen könnte folgendermaßen aussehen:
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);
}
Alle Bildverarbeitungsvorgänge verwenden die unformatierte Java2D-Pipeline (die auf wichtigen Plattformen hardwarebeschleunigt ist) und verursachen keine Probleme beim Aufrufen über JNI wie Bibliothekskonflikte in Ihrem Code.
imgscalr wurde an vielen Stellen auch in großen Produktionen eingesetzt - die Einbeziehung der AsyncScalr-Klasse macht es zu einem perfekten Drop-In für jede serverseitige Bildverarbeitung.
Es gibt zahlreiche Verbesserungen an der Bildqualität, mit denen Sie zwischen Geschwindigkeit und Qualität wechseln können, wobei der höchste ULTRA_QUALITY-Modus ein skaliertes Ergebnis liefert, das besser aussieht als die Lancoz3-Implementierung von GIMP.