私が間違っている場合はお詫びして、私はC#とXAML for Windows 8を使ってメトロアプリを開発しています。 QR画像(私はXZing.Netライブラリを使用してデコードしています)とQR画像にエンコードされたコンテンツを表示します。 私は私の指とWebカメラのフラッシュライトをブロックし、キャプチャ画像があればすべてうまく動作しますが、画像をキャプチャした後にフラッシュライトがオンになっていれば、XZing.Netはデコードできません。私はcode.PleaseがウェブカメラのフラッシュライトメトロアプリをオフにするC#
「qrCameraElement」
try
{
MediaCapture m_mediaCaptureMgr = new MediaCapture();
await m_mediaCaptureMgr.InitializeAsync();
qrCameraElement.Source = m_mediaCaptureMgr;
await m_mediaCaptureMgr.StartPreviewAsync();
}
catch(Exception)
{
}
以下の私のコードをチェック用いてフラッシュライトをオフにすることができます方法はありますキャプチャ]ボタンをCaptureElement
のインスタンスは、私は
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);
}
をクリックしていますWebcam Flashを使用すると、result
がnullになります。私を助けてください。
?そして、catch文に 'Console.WriteLine(e.Message);を入れてみましたか?(' e'はExceptionです)? – Andy
Ok Andy、私は "結果"をチェックするコードを追加しました。私の問題を理解することを願っています。イメージをキャプチャする前にWebcamのフラッシュ(LED)をオフにする必要があります。 )。これで私を助けることができますか? –
私はあなたに今理解しています - 私は 'Decode'メソッドのためのドキュメントを見つけることができませんでしたが、QRイメージが見つからない場合、フラッシュがぼやけているとは限りません。どのウェブカメラを使用していますか?...問題は深刻なハッキングなしであり、悪意のある目的のためにこの機能を制御することはできません。 – Andy