2009-09-30 20 views
14

विंडोज एक्सप्लोरर (और लिनक्स gnome) में प्रत्येक फ़ाइल के लिए एक थंबनेल या आइकन दिखाता है। EXEs, छवियों, वीडियो, txt-files, ini-files, शब्द दस्तावेज़ और अन्य फ़ाइल प्रकारों की तरह। अब मेरा सवाल है: फ़ाइल द्वारा एक (अधिमानतः बड़ा) आइकन प्राप्त करने का कोई तरीका है।जावा: फ़ाइल से थंबनेल कैसे प्राप्त करें

कुछ की तरह:

public static BufferedImage getThumbnail(File file) {...} 

धन्यवाद

उत्तर

12

ऐसा लगता है जैसे ऐसा करने का कोई AWT रास्ता।

आप स्विंग उपयोग कर रहे हैं, वहाँ एक तरीका है कि आप एक स्विंग Icon प्राप्त करने के लिए उपयोग कर सकते हैं ...

import javax.swing.filechooser.FileSystemView; 
import javax.swing.Icon; 

...

Icon ico = FileSystemView.getFileSystemView().getSystemIcon(file); 

तुम भी है कि Icon वापस परिवर्तित कर सकते हैं है Image में (संभवतः एक बुफर्ड इमेज, लेकिन मैंने इसका परीक्षण नहीं किया है):

Image image = ((ImageIcon) ico).getImage(); 

सीधे आइकन प्राप्त करने के लिए एक कक्षा भी है, लेकिन यह कक्षा जेडीके निर्भर है। सूर्य जेडीके पर यह sun.awt.shell.ShellFolder वर्ग है।

यदि आप SWT का उपयोग कर रहे हैं, तो चीजें are a bit trickier

+1

यह वही है जो मैं चाहता हूं। धन्यवाद, शायद आप बड़े आइकन के लिए भी एक रास्ता जानते हैं? –

+1

हां, क्या बड़े आइकन प्राप्त करने का कोई तरीका है? मैं sun.awt.shell.ShellFolder.getIcon (सत्य) का उपयोग करना चाहता हूं, लेकिन sun.awt.shell.ShellFolder के पास पहुंच प्रतिबंध है। :-( –

0

पूरी तरह सुनिश्चित नहीं हैं कि अगर आप आइकन मिलता है लेकिन AssociationService कि JDIC का उपयोग कर पहुँचा जा सकता है पर एक नज़र लेने के लिए सक्षम हो जाएगा।

http://java.sun.com/developer/technicalArticles/J2SE/Desktop/jdic_assoc/

इसके अलावा इस सूत्र http://forums.sun.com/thread.jspa?threadID=5357995

+0

सूर्य धागा अब और मौजूद नहीं है। – koppor

+0

java.sun.com लिंक को देखा जा सकता है [archive.org पर] (https://web.archive.org/web/20061030164547/http://java.sun.com/developer/technicalArticles/J2SE/Desktop/ jdic_assoc /), और अर्ध-पठनीय संस्करण [oracle.com पर] है (http://www.oracle.com/technetwork/articles/java/jdic-assoc-136531.html)। दुर्भाग्य से फोरम लिंक संग्रहीत नहीं है। – VGR

6

मुझे नहीं लगता कि उपरोक्त उत्तरों सही प्रश्न को संबोधित कर रहे हैं। मार्टिजन आइकन छवियों में हेरफेर करने के लिए एपीआई नहीं मांग रहा है। वह जानना चाहता है कि ब्राउज़ करने योग्य फाइल सिस्टम में आइटम्स के लिए थंबनेल छवियों के डेस्कटॉप के कैश को कैसे प्राप्त किया जाए।

मैं वहाँ सब पर यह करने के लिए एक पोर्टेबल तरीका है नहीं लगता है, लेकिन लिनक्स दुनिया (Gnome और KDE) Freedesktop थंबनेल मानक, जिस पर पढ़ा जा सकता है का पालन: http://jens.triq.net/thumbnail-spec/

वहाँ कोड हो सकता है, शायद जीटीके (लेकिन शायद जावा नहीं) में जो विंडोज़ के लिए एक संगतता परत लागू करता है, लेकिन अगर वहां है तो मुझे इसके बारे में पता नहीं है।

3

यदि आप एक प्लेटफॉर्म-स्वतंत्र (यानी शुद्ध जावा) समाधान की तलाश में हैं, तोपर एक नज़र देखें। यह अभी भी बीटा है, और इसमें सीमित फ़ाइल प्रकारों की एक सीमित संख्या है।

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