2013-02-24 12 views
9

में कनवर्ट करना मैं ImageIcon से BufferedImage को परिवर्तित करने का प्रयास कर रहा हूं ... और मुझे कोई भाग्य नहीं मिला है।एक छवि आइकन को एक BufferedImage

मेरे पास एक पूर्व-मौजूदा छवि आइकन है जिसे बुफर्ड इमेज ऑपरेशंस की विशाल मात्रा के लिए बुफर्ड छवि में परिवर्तित करने की आवश्यकता है।

मुझे कुछ तरीके मिले हैं, लेकिन उनमें से सभी बेहद सीपीयू गहन हैं।

उत्तर

29

क्या बुराई है:

BufferedImage bi = new BufferedImage(
    icon.getIconWidth(), 
    icon.getIconHeight(), 
    BufferedImage.TYPE_INT_RGB); 
Graphics g = bi.createGraphics(); 
// paint the Icon to the BufferedImage. 
icon.paintIcon(null, g, 0,0); 
g.dispose(); 
+1

बहुत उपयोगी आपको बहुत बहुत धन्यवाद, मैं पहले इस विधि करवाते आ गया था, लेकिन जल्दी से मेरी immiediet धारणा की वजह से है कि यह बुरी तरह से प्रदर्शन करेंगे यह मार गिराया, लेकिन उसके बाद इसे अपने तरीके से आजमा रहे हैं, यह सब ठीक काम करने लगता है। आइकन में पारदर्शी पिक्सल होने पर – Caelum

+1

'BufferedImage.TYPE_INT_ARGB'। – Matthieu

-2

मैं कुछ Scalr कहा जाता है की कोशिश की, नीचे

Scalr.resize((BufferedImage) ImageIO.read(file), Method.SPEED, 250, OP_ANTIALIAS, OP_BRIGHTER);

चीयर्स कोड देखें।

+2

क्या आपने वास्तव में प्रश्न पढ़ा है? –

8

देखें ImageIcon, Image और BufferedImage:

ImageIcon yourImage; 
Image image = yourImage.getImage(); 
BufferedImage buffered = (BufferedImage) image; 
+2

इसका उपयोग करें यदि ImageIcon में BufferedImage, या वर्नर का उत्तर अन्यथा है। – aditsu

+0

यह विंडोज पर काम करता है लेकिन लिनक्स पर नहीं (उबंटू पर कोशिश की गई)। – Matthieu

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