मुझे पता है कि यह प्रश्न काफी पुराना है, लेकिन जैसा कि नया सॉफ्टवेयर सामने आता है, यह उन परियोजनाओं के लिए कुछ नए लिंक प्राप्त करने में मदद करता है जो लोगों के लिए दिलचस्प हो सकते हैं।
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 पाइपलाइन का उपयोग करते हैं (जो कि प्रमुख प्लेटफार्मों पर हार्डवेयर त्वरित है) और जेएनआई के माध्यम से कॉलिंग के दर्द को आपके कोड में लाइब्रेरी विवाद की तरह पेश नहीं करेगा।
imgscalr को भी बड़े पैमाने पर प्रस्तुतियों में कुछ ही स्थानों पर तैनात किया गया है - AsyncScalr वर्ग का समावेश किसी भी सर्वर-साइड छवि प्रसंस्करण के लिए एक आदर्श ड्रॉप-इन बनाता है।
छवि-गुणवत्ता के लिए कई मोड़ हैं जिनका उपयोग आप गति और गुणवत्ता के बीच उच्चतम ULTRA_QUALITY मोड के साथ व्यापार करने के लिए कर सकते हैं, जो कि स्केल किया गया परिणाम प्रदान करता है जो GIMP के Lancoz3 कार्यान्वयन से बेहतर दिखता है।