UIImage
的宽和高设置为640,识别不出来再进行缩放识别。修改 UIImage
的代码如下:-(UIImage *)TransformtoSize:(CGSize)Newsize{ // 创建一个bitmap的context UIGraphicsBeginImageContext(Newsize); // 绘制改变大小的图片 [self drawInRect:CGRectMake(0, 0, Newsize.width, Newsize.height)]; // 从当前context中创建一个改变大小后的图片 UIImage *TransformedImg=UIGraphicsGetImageFromCurrentImageContext(); // 使当前的context出堆栈 UIGraphicsEndImageContext(); // 返回新的改变大小后的图片 return TransformedImg;}
这样类似于ZXing中的tryHard设置为YES。识别不出来的二维码图片就可以识别了。
2016年5月20日
bug: 点击进入扫一扫界面,退出,再进入,这样重复5次左右,扫一扫之前的界面的会出现卡顿。
原因:多次进入扫一扫界面,再退出,因此界面未被系统回收,captureSession对象一直在运行,会造成内存泄露,引起上一个界面卡顿。
解决方案:在视图将要消失的时候,确保captureSession对象停止运行。
- (void)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; if ([self.captureSession isRunning]) { [self.captureSession stopRunning]; }}