2010-02-21 16 views

उत्तर

6

कैसे शुद्ध चारों ओर यह करने के लिए पर पूरा लेख हैं, इस तरह के कुछ तुम जा मिलना चाहिए:

+1

वास्तव में मैं फ़ाइल आकार के बारे में बात कर रहा था। क्या यह उन्हें भी कवर करता है? – Anand

+0

@ अन्न आपको समाधान मिला? –

5

आप कर सकते हैं ' एक फ़ाइल आकार से दूसरे में आसानी से एक छवि का आकार बदलें, लेकिन, अधिकांश जेपीजी/पीएनजी/जीआईएफ/आदि। उनके संकल्पों के आधार पर समान फ़ाइल आकार होते हैं। उदाहरण के लिए, 200kb संपीड़ित जेपीजी आमतौर पर आकार में 1280x960 कह सकता है। यदि ऐसा है, तो आप अपने सभी आकार बदलने वाले कार्यों को लक्ष्य छवियों को उस आकार में आकार देने के लिए लक्षित करेंगे और मोटे तौर पर आकार की बाधा प्राप्त करेंगे।

ऐसा करने का एक बहुत ही आसान तरीका बहुत सरल जावा image resizing library (अपाचे 2 लाइसेंस) का उपयोग करना है जो आपके लिए सब ठीक है। उदाहरण कोड आकार बदलने के लिए इस प्रकार दिखाई देगा:

BufferedImage img = ImageIO.read(...); // load image 
BufferedImage scaledImg = Scalr.resize(img, 1280, 960); 

आपकी छवि अनुपात सम्मानित किया जाता है, पुस्तकालय विधि यह कारण स्केलिंग करने के लिए छवि में परिवर्तन की मात्रा के आधार पर उपयोग किसे करना चाहिए पर एक सबसे लगता है कि बनाता है (सबसे तेज़, संतुलित या गुणवत्ता) और सबसे अच्छा समर्थित जावा 2 डी छवि प्रकार हमेशा "काले" परिणामों के मुद्दे से बचने के लिए स्केलिंग करने के लिए उपयोग किए जाते हैं या वास्तव में भयानक दिखने वाले आउटपुट (जैसे अत्यधिक डीआईएफ छवियां)।

इसके अलावा, अगर आप उत्पादन के लिए यह सबसे अच्छा लग रही जावा में संभव परिणाम बाध्य करना चाहते हैं, API कॉल इस प्रकार दिखाई देगा:

BufferedImage img = ImageIO.read(...); // load image 
BufferedImage scaledImg = Scalr.resize(img, Method.QUALITY, 1280, 960); 

लाइब्रेरी का उपयोग Java2D वृद्धिशील स्केलिंग की सिफारिश की आप आप देने के लिए के लिए सबसे अच्छा परिणाम परिणाम।

आप लाइब्रेरी में सभी टिप्पणियों के माध्यम से पढ़ सकते हैं (कोड स्वयं को बहुत ही कम किया गया है) प्रदर्शन या स्मृति उपयोग को बेहतर बनाने के लिए किए गए सभी अलग-अलग जेडीके बग्स या ऑप्टिमाइज़ेशन को देखने के लिए। मैंने इस कार्यान्वयन को ट्यून करने में काफी समय बिताया और वेब ऐप्स और अन्य जावा परियोजनाओं में इसे तैनात करने वाले लोगों से बहुत अच्छी प्रतिक्रिया मिली है। (-> 200 केबी 3mb), न कि चित्र का आयाम

संबंधित मुद्दे