शामिल किसी ऑब्जेक्ट को क्रमबद्ध करने के लिए मैं जावा में एक साधारण छवि संपादन प्रोग्राम बनाने की कोशिश कर रहा हूं। मैंने ImageCanvas
ऑब्जेक्ट बनाया है जिसमें संपादित की जा रही छवि के बारे में सारी जानकारी है (कुछ मूल गुण, लागू होने वाले प्रभावों की सूची, BufferedImage
परतों आदि की एक सूची) और मैं इसे डिस्क पर सहेजने का एक आसान तरीका चाहता था ताकि यह डिस्क पर सहेज सके बाद में खोला जा सकता है।BufferedImages
मुझे लगा कि जावा के डिफॉल्ट Serializable
इंटरफ़ेस का उपयोग करके मैं वही हो सकता हूं जो मैं ढूंढ रहा था और मैं पूरी ऑब्जेक्ट को फ़ाइल में लिख सकता था और इसे बाद में फिर से स्मृति में पढ़ सकता था। हालांकि, ImageCanvas
में ArrayList<BufferedImage>
शामिल है, और BufferedImage
क्रमबद्ध नहीं हैं (बाकी सब कुछ है)।
मैं इसे writeObject()
और readObject()
तरीकों ओवरराइड करने के लिए संभव है पता है, लेकिन मैं इतना कभी नहीं किया है और अगर कोई आसान तरीका जावा को क्रमानुसार सब कुछ है और पढ़ने/लिखने BufferedImage
लिए कुछ कस्टम रास्ता है मैं सोच रहा था डिस्क पर है? या क्या डिस्क पर डिस्क पर पूरे ImageCanvas
ऑब्जेक्ट को आसानी से लिखने का कोई और तरीका है? आखिर में मैं अपनी खुद की कस्टम छवि फ़ाइल प्रकार को कार्यान्वित कर सकता हूं, लेकिन अभी के लिए मैं परीक्षण करते समय अस्थायी रूप से फ़ाइलों को सहेजने का एक तेज़ और आसान तरीका चाहता था (ImageCanvas
कक्षा बहुत बदल जाएगी, इसलिए मैं अद्यतन रखना नहीं चाहता था मेरे कस्टम फ़ाइल प्रकार से पहले इसे अंतिम रूप दिया गया है)।
मैं इसका उपयोग कैसे कर सकता हूं। तरीके निजी हैं। – avicennasoftwarelabs
@avicennasoftwarelabs, बस लिखने को लागू करना ऑब्जेक्ट और readObject जावा ऑरियलाइजेशन को उन तरीकों का उपयोग करने के लिए बताएगा जब आपके ऑब्जेक्ट को क्रमबद्ध/deserializing, विधियां निजी हैं। –
दुर्भाग्यवश छवियों में पीएनजी डिकोडर में इसमें बग है, जिसका अर्थ है कि वह डेटा जिसे आप वापस पढ़ते हैं वह आपके द्वारा लिखे गए डेटा जैसा नहीं है (रंग अक्सर 1 से बंद होते हैं) – mjaggard