2013-08-09 17 views
5

Yanlış mıyım, Windows 8 için C# ve XAML kullanarak metro uygulaması geliştiriyorum, Uygulamam QR Code görüntüsü yakalama yeteneğine sahip, Resim kitaplığına kaydet, kod çözme QR görüntüsü (XZing.Net kütüphanesinin kodunu çözmek için kullanıyorum) ve QR görüntüsünde kodlanmış içerik gösteriyorum. I bloğu Web kameranın flaş ışığı parmağımla ve görüntü yakaladığında her şey iyi çalışıyor, ancak XZing.Net görüntü yakalandıktan sonra Flash ışığı açıksa, kod çözemiyor.Web kamerasını kapatın flaş ışığı metro uygulaması C#

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); 
} 

Ben tıkla ben code.Please yakalama düğmesi CaptureElement

ait

try 
{ 
    MediaCapture m_mediaCaptureMgr = new MediaCapture(); 
    await m_mediaCaptureMgr.InitializeAsync(); 
    qrCameraElement.Source = m_mediaCaptureMgr; 
    await m_mediaCaptureMgr.StartPreviewAsync(); 
} 
catch(Exception) 
{ 
} 

"qrCameraElement" dir Örneğin aşağıda kodumu kontrol kullanarak flaş ışığı kapatır mısın herhangi bir yolu var mı Webcam Flash kullanıldığında sıfır olarak result olsun. Lütfen bana yardım et.

+0

? Ve yakaladığınız ifadede bir 'Console.WriteLine (e.Message); – Andy

+0

Ok Andy, "sonuç" ı kontrol ettiğim kodu ekledim, umarım sorunumu anlarsınız, temel olarak görüntü yakalamadan önce Web kamerası flaşını (LED) kapatmam gerekiyor (çünkü flaş kullanıldığında "sonuç" alıyorum)) .Bu konuda bana yardımcı olabilirsiniz .. –

+0

Şimdi anlıyorum - Decode' yöntemi için herhangi bir belge bulamadım ama QR görüntüsü bulunamadığında bu null'un döndüğünü biliyorum, hangisi flaş bulanıklaşıyorsa olmaz. Hangi web kamerası kullanıyorsunuz? ... Sorun ciddi bir korsanlık olmadan, bu özelliği kötü amaçlı amaçla kullanılabilecek şekilde kontrol etmek mümkün olmayabilir. – Andy

cevap

İlgili konular