当前位置: 首页>>代码示例>>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;未经允许,请勿转载。