में बाइट सरणी से छवि को कैसे दिखाया जाए, मैं रिपोर्ट रिपोर्ट का उपयोग कर रहा हूं और एक रिपोर्ट देखने के लिए एक रिपोर्ट व्यूअर नियंत्रण का उपयोग कर रहा हूं जो रन-टाइम के दौरान ऑब्जेक्ट्स से गतिशील रूप से डेटा लोड करता है।माइक्रोसॉफ्ट रिपोर्ट
मुझे ऑब्जेक्ट में बाइट सरणी के रूप में संग्रहीत एक छवि दिखाने की आवश्यकता है।
PictureBox के मूल्य वर्तमान में पर सेट है:
=First(Fields!ImageData.Value, "dtstItemImage")
और मैं डेटा स्रोत का उपयोग कर सेट:
ImageBindingSource.DataSource = this.item.Image.ImageData;
कोड संकलित करता है तथा रन लेकिन छवि रिपोर्ट में प्रदर्शित नहीं है।
ऐसा इसलिए है क्योंकि पिक्चरबॉक्स को छवि ऑब्जेक्ट (और बाइट सरणी नहीं) से बाध्य होना चाहिए? या शायद पिक्चरबॉक्स के कुछ गुण हैं जिन्हें मुझे सेट करने की ज़रूरत है?
UPDATE 1
मैं बस यह सुनिश्चित करें कि अपने दिखाई है और यह रिपोर्ट में दिखाई देते है बनाने के लिए PictureBox करने के लिए एक सीमा जोड़ दिया है। इसमें सिर्फ छवि नहीं है।
अद्यतन 2
मैं अपने कोड में एक गलती ठीक कर दी है। मैं बदल दिया है:
ImageBindingSource.DataSource = this.item.Image.ImageData;
रहे हैं:
ImageBindingSource.DataSource = this.item.Image;
रूप PictureBox ImageData क्षेत्र के लिए बाध्य है, लेकिन डेटा स्रोत छवि वस्तु है।
अब मुझे कुछ भी नहीं होने के बजाय एक छोटा सा क्रॉस आइकन मिलता है (कम से कम मेरे लिए) कुछ प्रगति इंगित करता है लेकिन मुझे नहीं पता कि बाइट [] - बिटमैप रूपांतरण कोड कहां होना चाहिए।
छवि प्रारूपित कैसे है? आपको शायद बाइट स्ट्रीम को deserialize करने की जरूरत है: http://stackoverflow.com/questions/1156608/feedback-on-code-to-serialize-deserialize-and-save-image – MrFox
"स्वरूपित" से आपका क्या मतलब है? बाइट सरणी में छवि डेटाबेस बीएलओबी सेल से ली गई है और एक जेपीईजी है। – Rachel
@ राहेल, श्रीफॉक्स (और नीचे स्वयं) इस बात का जिक्र कर रहे हैं कि छवि बाइट सरणी में कैसे एन्कोड की गई थी। सीमाओं के साथ संरेखित करने के लिए आपको बाइट्स को पैड करने की आवश्यकता हो सकती है। देखें कि मैंने इस क्यू एंड ए में यह कैसे किया है http://stackoverflow.com/questions/2750342/unsigned-char-buffer-freetype2-bitmap-to-systemdrawingbitmap – Dennis