2013-08-09 6 views
5

अगर मैं गलत हूं, माफी माँगता हूं, तो मैं विंडोज 8 के लिए सी # और एक्सएएमएल का उपयोग करके मेट्रो ऐप विकसित कर रहा हूं, मेरे ऐप में क्यूआर कोड छवि को कैप्चर करने की क्षमता है, इसे चित्र लाइब्रेरी में सहेजें, डीकोड क्यूआर छवि (मैं डीकोड करने के लिए XZing.Net लाइब्रेरी का उपयोग कर रहा हूं) और क्यूआर छवि में एन्कोडेड सामग्री प्रदर्शित करता हूं। यदि मैं ब्लॉक करता हूं तो मेरी चीज के साथ वेबकैम फ्लैश लाइट ब्लॉक करें और छवि कैप्चर करें, लेकिन यदि छवि XZing.Net को कैप्चर करने के बाद फ्लैश लाइट चालू हो, तो डीकोड करने में सक्षम नहीं हो सकता है। वहाँ किसी भी तरह से मैं का उपयोग कर code.Please CaptureElementवेबकैम फ्लैश लाइट मेट्रो ऐप बंद करें सी #

की

उदाहरण
try 
{ 
    MediaCapture m_mediaCaptureMgr = new MediaCapture(); 
    await m_mediaCaptureMgr.InitializeAsync(); 
    qrCameraElement.Source = m_mediaCaptureMgr; 
    await m_mediaCaptureMgr.StartPreviewAsync(); 
} 
catch(Exception) 
{ 
} 

"qrCameraElement" है पर कब्जा बटन पर नीचे मेरी कोड की जाँच फ़्लैश प्रकाश बंद कर सकते हैं पर क्लिक करें

StorageFile m_photoStorageFile = await ApplicationData.Current.LocalFolder.CreateFileAsync("QRImage.png", CreationCollisionOption.ReplaceExisting); 
ImageEncodingProperties imageProperties = ImageEncodingProperties.CreatePng(); 
await m_mediaCaptureMgr.ClearEffectsAsync(MediaStreamType.Photo); 
await m_mediaCaptureMgr.CapturePhotoToStorageFileAsync(imageProperties, m_photoStorageFile); 

StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("QRImage.png"); 

try 
{ 
     using (IRandomAccessStream photoStream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read)) 
{ 
    WriteableBitmap writeableBitmap = await BitmapFactory.New(1, 1).FromStream(photoStream); 
          writeableBitmap.SetSource(photoStream); 
          var barcodeReader = new BarcodeReader 
          { 
           PossibleFormats = new List<BarcodeFormat> { BarcodeFormat.QR_CODE }, 
           TryHarder = true, 
           AutoRotate = true 
          }; 
          var result = barcodeReader.Decode(writeableBitmap); 
          if(result != null) 
          { 
           //Do something 
          } 
          else 
          { 
           //Display message as unable to read QR image 
          } 
    } 
    } 
    catch(Exception e) 
{ 
    Console.WriteLine(e.Message); 
} 

मैं है वेबकैम फ्लैश का उपयोग होने पर result को शून्य के रूप में प्राप्त करना। क्रिप्या मेरि सहायता करे।

+0

कहाँ abouts आप 'result' जांच कैसे करूं? और क्या आपने अपने कंसोल स्टेटमेंट में 'कंसोल। राइटलाइन (ई। मैसेज) डालने की कोशिश की है (जहां' ई 'अपवाद है)? – Andy

+0

ठीक एंडी, मैंने कोड जोड़ा जहां मैं "परिणाम" की जांच करता हूं, मुझे उम्मीद है कि आप मेरी समस्या को समझेंगे, मूल रूप से मुझे छवि कैप्चर करने से पहले वेबकैम फ्लैश (एलईडी) बंद करना होगा (क्योंकि मुझे फ्लैश का उपयोग होने पर "परिणाम" शून्य हो रहा है)। क्या आप कृपया इस के साथ मेरी मदद कर सकते हैं .. –

+0

मैं अब आपको समझता हूं - मुझे 'डीकोड' विधि के लिए कोई दस्तावेज नहीं मिला लेकिन मैं यह इकट्ठा कर रहा हूं कि क्यूआर छवि नहीं मिल सका, जो इसे वापस कर दिया गया है, जो इसे अगर फ्लैश इसे धुंधला कर रहा है तो नहीं होगा। आप किस वेबकैम का उपयोग कर रहे हैं? ... समस्या कुछ गंभीर हैकिंग के बिना है, इस सुविधा को नियंत्रित करना संभव नहीं है क्योंकि इसका उपयोग दुर्भावनापूर्ण उद्देश्यों के लिए किया जा सकता है। – Andy

उत्तर

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