2015-03-10 13 views
6

मैं जावा में BufferedImage क्रमबद्ध करने की कोशिश कर रहा हूं, लेकिन मेरे प्रोग्राम को चलाने के लिए मुझे NotSerializableException प्राप्त हुआ।java.awt.image.BufferedImage serializable क्यों नहीं है?

BufferedImage कक्षा को देखते हुए, मैंने देखा कि यह Serializable लागू नहीं करता है।

BufferedImageSerializable लागू क्यों नहीं करता है?

+0

मैं बहुत सुंदर हूं (कम से कम बहुत कम) BufferedXXX कक्षाएं जो क्रमिक हैं। – Falmarri

+0

http://stackoverflow.com/questions/15058663/how-to-serialize-an-object-that-includes-bufferedimages का डुप्लिकेट, या मुझे लगता है कि काफी समान है। लेकिन यह जानना दिलचस्प होगा कि इसे धारावाहिक क्यों नहीं किया जा सकता है। मुझे लगता है क्योंकि इसमें आर्क-विशिष्ट रास्टर डेटा और एंडियन शामिल हैं। –

+2

@ फेबियो बोहेनबर्गर 'int [] getRGB (....)' का उपयोग करने का प्रयास करें और छवि के बजाए लौटाए गए पूर्णांक सरणी को क्रमबद्ध करें, और जब आप सरणी को deserialize विधि 'setRGB (विधि' का उपयोग कर अपने 'BufferedImage' को फिर से बनाने की कोशिश करें। ...) ' –

उत्तर

4

मुझे लगता है कि आपने अभी एक लापता विशेषता खोज ली है।

  • क्या यह BufferedImage implements Serializable होने का अर्थ है? मेरी राय में यह करता है। विशेष रूप से यदि BufferedImage किसी फ़ाइल से लोड नहीं किया गया था, लेकिन बनाया और खींचा गया। लेकिन यहां तक ​​कि अगर यह एक फ़ाइल से है, तो कौन सा सामान कहता है कि मैं कहां से आता हूं यदि मैं वीएम के बीच आरएमआई या इसी तरह के माध्यम से इसका आदान-प्रदान करना चाहता हूं?
  • BufferedImage में कुछ भी है जो BufferedImage implements Serializable के खिलाफ एक मजबूत तकनीकी कारण प्रदान करता है? मैंने स्रोत कोड ब्राउज़ किया, और मुझे ऐसा नहीं लगता।

मैंने जांच की कि क्या बग डेटाबेस में पहले से ही एक प्रविष्टि है, और मुझे कुछ भी संबंधित नहीं मिला। तो, यह आपके योगदान का मौका है और बग डेटाबेस के माध्यम से एक सुविधा अनुरोध का सुझाव है। http://bugs.java.com/bugdatabase/

समाधान के लिए, आप वर्ग javax.swing.ImageIcon में readObject() और writeObject() के कार्यान्वयन को देखने के लिए चाहते हो सकता है। ImageIconSerializable है। हो सकता है कि आप BufferedImage को अपने उपयोग के मामले के लिए ImageIcon में लपेटें, या किसी अन्यथा ImageIcon.readObject()/ImageIcon.writeObject() से तर्क प्रदान करें।

+2

उपरोक्त। यह स्पष्ट रूप से * javax.swing.ImageIcon पर लागू नहीं होता है। – EJP

+1

@ जीन-फ्रैंकोइससार्ड क्यों छवि को 'Serializable' नहीं होना चाहिए? बाकी सब की तुलना में एक छवि के बारे में इतना खास क्या है? –

+2

@ जीन-फ्रैंकोइससार्ड एक छवि केवल एक फ़ाइल है यदि आपके पास पहले से ही फ़ाइल है। यदि आपके पास यह नहीं है, और आपको इसकी आवश्यकता है, तो आपको इसे कहीं और से प्राप्त करना होगा। छवियां आवश्यक रूप से फाइलें नहीं हैं: उन्हें गतिशील रूप से उत्पन्न किया जा सकता है। यह वास्तव में कोई मतलब नहीं बना रहा है। – EJP

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