當前位置: 首頁>>代碼示例>>C#>>正文


C# Android.SetOneShotPreviewCallback方法代碼示例

本文整理匯總了C#中Android.SetOneShotPreviewCallback方法的典型用法代碼示例。如果您正苦於以下問題:C# Android.SetOneShotPreviewCallback方法的具體用法?C# Android.SetOneShotPreviewCallback怎麽用?C# Android.SetOneShotPreviewCallback使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Android的用法示例。


在下文中一共展示了Android.SetOneShotPreviewCallback方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: OnPreviewFrame

		public void OnPreviewFrame (byte [] bytes, Android.Hardware.Camera camera)
		{
			try 
			{
				var cameraParameters = camera.GetParameters();
				var img = new YuvImage(bytes, ImageFormatType.Nv21, cameraParameters.PreviewSize.Width, cameraParameters.PreviewSize.Height, null);	
				
				if (barcodeReader == null)
				{
					barcodeReader = new BarcodeReader(null, null, null, (p, w, h, f) => 
					                                  new PlanarYUVLuminanceSource(p, w, h, 0, 0, w, h, false));
					//new PlanarYUVLuminanceSource(p, w, h, dataRect.Left, dataRect.Top, dataRect.Width(), dataRect.Height(), false))
					
					if (this.options.TryHarder.HasValue)
						barcodeReader.Options.TryHarder = this.options.TryHarder.Value;
					if (this.options.PureBarcode.HasValue)
						barcodeReader.Options.PureBarcode = this.options.PureBarcode.Value;
					if (!string.IsNullOrEmpty (this.options.CharacterSet))
						barcodeReader.Options.CharacterSet = this.options.CharacterSet;
					if (this.options.TryInverted.HasValue)
						barcodeReader.TryInverted = this.options.TryInverted.Value;
					
					if (this.options.PossibleFormats != null && this.options.PossibleFormats.Count > 0)
					{
						barcodeReader.Options.PossibleFormats = new List<BarcodeFormat>();
						
						foreach (var pf in this.options.PossibleFormats)
							barcodeReader.Options.PossibleFormats.Add(pf);
					}
					
					//Always autorotate on android
					barcodeReader.AutoRotate = true;
				}
				
				//Try and decode the result
				var result = barcodeReader.Decode(img.GetYuvData(), img.Width, img.Height, RGBLuminanceSource.BitmapFormat.Unknown);
				
				lastPreviewAnalysis = DateTime.Now;
				
				if (result != null && !string.IsNullOrEmpty (result.Text))
				{
					Android.Util.Log.Debug("ZXing.Mobile", "Barcode Found: " + result.Text);

					ShutdownCamera();

					callback(result);

					return;
				}
			} 
			catch (ReaderException) {	Android.Util.Log.Debug("ZXing.Mobile", "No barcode Found"); } 
			catch (Exception) { throw; }

			camera.SetOneShotPreviewCallback (this);
		}
開發者ID:ryanthompson0123,項目名稱:ZXing.Net.Mobile,代碼行數:55,代碼來源:ZXingSurfaceView.cs


注:本文中的Android.SetOneShotPreviewCallback方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。