Saya tahu pertanyaan ini cukup lama, tetapi ketika perangkat lunak baru keluar, itu membantu untuk mendapatkan beberapa tautan baru ke proyek-proyek yang mungkin menarik bagi orang-orang.
imgscalr adalah pengubahan ukuran gambar Java murni (dan ops sederhana seperti padding, cropping, rotating, mencerahkan / meredup, dll.) perpustakaan yang sangat mudah digunakan - satu kelas terdiri dari serangkaian operasi grafis sederhana yang semuanya didefinisikan sebagai metode statis yang Anda melewatkan gambar dan mendapatkan kembali hasilnya.
Contoh paling dasar menggunakan perpustakaan akan terlihat seperti ini:
BufferedImage thumbnail = Scalr.resize(image, 150);
Dan penggunaan yang lebih umum untuk menghasilkan thumbnail gambar menggunakan beberapa tweak berkualitas dan sejenisnya mungkin terlihat seperti ini:
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);
}
Semua operasi pemrosesan gambar menggunakan pipa Java2D mentah (yang merupakan akselerasi perangkat keras pada platform utama) dan tidak akan memperkenalkan kesulitan memanggil melalui JNI seperti pertentangan perpustakaan dalam kode Anda.
imgscalr juga telah digunakan dalam produksi skala besar di beberapa tempat - dimasukkannya kelas AsyncScalr menjadikannya drop-in yang sempurna untuk pemrosesan gambar sisi server.
Ada banyak penyesuaian kualitas gambar yang dapat Anda gunakan untuk menukar antara kecepatan dan kualitas dengan mode ULTRA_QUALITY tertinggi yang memberikan hasil skala yang terlihat lebih baik daripada implementasi Lancoz3 GIMP.