मैं एक बहुत बड़ी छवि (14473x25684) लोड करने की कोशिश कर रहा हूं, लेकिन मैं स्मृति सीमा में मार रहा हूं।OutofMemoryException - बेहद बड़ी छवियां लोड हो रही हैं
यहाँ समस्या प्रदर्शित करने के लिए एक साधारण प्रोग्राम है:
static void Main(string[] args)
{
string largeimage = @"C:\Temp\test_image.jpg"; // 14473x25684
Image i = Bitmap.FromFile(largeimage); // OutofMemoryException was unhandled
}
अब मैं समझता हूँ कि इस मुद्दे को कितना भौतिक स्मृति मेरे पास करने के लिए प्रासंगिक नहीं है, बल्कि एक को संबोधित कर रहे सीमा है। क्या इस सीमा को पाने के लिए मैं कुछ भी कर सकता हूं?
छवि वास्तव में मान्य है और यह फ़ोटोशॉप (वीएम आकार: 916 एमबी) और एसीडीएसई में ठीक खुलती है। Google को आयामों से भी परेशान न करें क्योंकि सूचीबद्ध आयाम सटीक नहीं हैं। :)
आपके समय के लिए धन्यवाद।
मैंने पहले इसमें भाग लिया है। जो मैं कह सकता हूं उससे यह ढांचा ढांचा है। –
वाह। यह एक बड़ी तस्वीर है। दुर्भाग्य से, फ्रेमवर्क बिटमैप कक्षा आपकी आवश्यकताओं को कवर नहीं करेगी। आप पाते हैं कि एक चंकित दृष्टिकोण लेना, जहां आप बिटमैप हेडर को मार्शल करते हैं और पिक्सेल को अधिक प्रबंधनीय छवि आयाम में नमूना देते हैं, वह आपकी सबसे अच्छी शर्त है। हालांकि यह एक चुनौती है, क्योंकि इसमें थोड़ा सा पहिया-पुनर्निर्माण शामिल है। मुझे आश्चर्य होगा अगर फ़ोटोशॉप और एसीडीएसई पूरी असम्पीडित छवि को स्मृति में लोड करते हैं। – kbrimington