2
0

LBXScanNative.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. //
  2. //
  3. //
  4. // github:https://github.com/MxABC/LBXScan
  5. // Created by lbxia on 15/3/4.
  6. // Copyright (c) 2015年 lbxia. All rights reserved.
  7. //
  8. @import UIKit;
  9. @import Foundation;
  10. @import AVFoundation;
  11. #import "LBXScanTypes.h"
  12. /**
  13. @brief ios系统自带扫码功能
  14. */
  15. @interface LBXScanNative : NSObject
  16. #pragma mark --初始化
  17. /**
  18. @brief 初始化采集相机
  19. @param preView 视频显示区域
  20. @param objType 识别码类型:如果为nil,默认支持很多类型。(二维码QR:AVMetadataObjectTypeQRCode,条码如:AVMetadataObjectTypeCode93Code
  21. @param block 识别结果
  22. @return LBXScanNative的实例
  23. */
  24. - (instancetype)initWithPreView:(UIView*)preView ObjectType:(NSArray*)objType success:(void(^)(NSArray<LBXScanResult*> *array))block;
  25. /**
  26. @brief 初始化采集相机
  27. @param preView 视频显示区域
  28. @param objType 识别码类型:如果为nil,默认支持很多类型。(二维码如QR:AVMetadataObjectTypeQRCode,条码如:AVMetadataObjectTypeCode93Code
  29. @param cropRect 识别区域,值CGRectZero 全屏识别
  30. @param block 识别结果
  31. @return LBXScanNative的实例
  32. */
  33. - (instancetype)initWithPreView:(UIView*)preView ObjectType:(NSArray*)objType cropRect:(CGRect)cropRect
  34. success:(void(^)(NSArray<LBXScanResult*> *array))block;
  35. #pragma mark --设备控制
  36. /*!
  37. * 开始扫码
  38. */
  39. - (void)startScan;
  40. /*!
  41. * 停止扫码
  42. */
  43. - (void)stopScan;
  44. /**
  45. * 开启关闭闪光灯
  46. *
  47. * @param torch ...
  48. */
  49. - (void)setTorch:(BOOL)torch;
  50. /*!
  51. * 自动根据闪关灯状态去改变
  52. */
  53. - (void)changeTorch;
  54. /**
  55. * 修改扫码类型:二维码、条形码
  56. *
  57. * @param objType type
  58. */
  59. - (void)changeScanType:(NSArray*)objType;
  60. /*!
  61. * 设置扫码成功后是否拍照
  62. *
  63. * @param isNeedCaputureImg YES:拍照, NO:不拍照
  64. */
  65. - (void)setNeedCaptureImage:(BOOL)isNeedCaputureImg;
  66. #pragma mark --镜头
  67. /**
  68. @brief 获取摄像机最大拉远镜头
  69. @return 放大系数
  70. */
  71. - (CGFloat)getVideoMaxScale;
  72. /**
  73. @brief 拉近拉远镜头
  74. @param scale 系数
  75. */
  76. - (void)setVideoScale:(CGFloat)scale;
  77. #pragma mark --识别图片
  78. /**
  79. 识别QR二维码图片,ios8.0以上支持
  80. @param image 图片
  81. @param block 返回识别结果
  82. */
  83. + (void)recognizeImage:(UIImage*)image success:(void(^)(NSArray<LBXScanResult*> *array))block;
  84. #pragma mark --生成条码
  85. /**
  86. 生成QR二维码
  87. @param text 字符串
  88. @param size 二维码大小
  89. @return 返回二维码图像
  90. */
  91. + (UIImage*)createQRWithString:(NSString*)text QRSize:(CGSize)size;
  92. /**
  93. 生成QR二维码
  94. @param text 字符串
  95. @param size 大小
  96. @param qrColor 二维码前景色
  97. @param bkColor 二维码背景色
  98. @return 二维码图像
  99. */
  100. + (UIImage*)createQRWithString:(NSString*)text QRSize:(CGSize)size QRColor:(UIColor*)qrColor bkColor:(UIColor*)bkColor;
  101. /**
  102. 生成条形码
  103. @param text 字符串
  104. @param size 大小
  105. @return 返回条码图像
  106. */
  107. + (UIImage*)createBarCodeWithString:(NSString*)text QRSize:(CGSize)size;
  108. @end