पर हैंडल जारी नहीं करता है। मैं एक बहु-छवि टिफ़ फ़ाइल में एकाधिक मल्टी-छवि टिफ़ फ़ाइलों में शामिल हूं और स्रोत टिफ़ फ़ाइलों को हटाने में समस्या है, क्योंकि छवि वर्ग उन पर हैंडल पकड़ना जारी है।छवि का उपयोग करना। FromFile फ़ाइल
मैं Image.FromFile के माध्यम से एक टिफ छवि पढ़ रहा हूँ:
Bitmap resultTiff = (Bitmap) Image.FromFile(strImageFile);
जो बाद मैं अन्य सभी टिफ छवियों उसी तरह पढ़ सकते हैं और उन्हें जिसके परिणामस्वरूप टिफ छवि के लिए जोड़ देते हैं।
जब मैं मैं संदर्भ जारी करने के लिए और परिणामी फ़ाइल को बचाने के लिए इस कोड का उपयोग समाप्त:
ep.Param[0] = new EncoderParameter(enc, (long) EncoderValue.Flush);
resultTiff.SaveAdd(ep);
resultTiff.Dispose();
अब समस्या है कि फ़ाइलें पर संभाल अभी भी मौजूद है (और इसलिए फ़ाइलें हटाया नहीं जा सकता) जब तक कि resultTiff.Dispose()
कॉल के बाद मैं GC.Collect()
पर कॉल करता हूं।
आप कल्पना कर सकते हैं कि मुझे जीसी को कॉल करके बहुत सहज महसूस नहीं होता है, तो क्या यह हासिल करने का कोई और तरीका है?
+1। 'Image.FromFile 'हमेशा सही चीज़ नहीं करता है। फ़ाइल स्ट्रीम मैन्युअल रूप से खोलकर इसे बदलकर और फिर से बिटमैप लोड करने से आपको कुछ और लचीलापन मिल जाता है। – stakx
किसी कारण से 'फाइलस्ट्रीम' अभी भी मुझे एक ही समस्या दे रहा था। इसके बजाय मैंने 'Image.FromStream (नई मेमोरीस्ट्रीम (फ़ाइल। रीड ऑलबाइट्स (पथ)) का उपयोग किया), 'जो अच्छी तरह से काम करता था। – William