关闭

ios 开发之 扫描二维码和生成二维码

标签: 扫描二维码ios开发
617人阅读 评论(0) 收藏 举报
分类:

一、生成二维码

在网上遇到很多生成二维码第三方的框架,但是都觉得不好用,而且有很多警告。

自己就写了一个

  • (UIImage*)twoDensionImageWtihString:(NSString*)string

{

CIFilter *filter_qrcode = [CIFilter filterWithName:@”CIQRCodeGenerator”]; [filter_qrcode setDefaults];

//生成二维码 :这里是二维码的链接形式

NSData *data = [[NSString stringWithFormat:@”yxh://coupon/%@”,string] dataUsingEncoding:NSUTF8StringEncoding];

[filter_qrcode setValue:data forKey:@”inputMessage”];

CIImage *outputImage = [filter_qrcode outputImage];

CIContext *context = [CIContext contextWithOptions:nil];

CGImageRef cgImage = [context createCGImage:outputImage fromRect:[outputImage extent]];

UIImage *image = [UIImage imageWithCGImage:cgImage scale:0.5 orientation:UIImageOrientationUp];

//设置质量

CGFloat width = image.size.width * 5.0; CGFloat height = image.size.height * 5.0;

//画布大小 UIGraphicsBeginImageContext(CGSizeMake(width+30, height+30)); CGContextRef context1 = UIGraphicsGetCurrentContext();
//质量的枚举类型 kCGInterpolationNone CGContextSetInterpolationQuality(context1,kCGInterpolationNone);

//将二维码画到画布中 [image drawInRect:CGRectMake((width+30)/2-width/2, (height+30)/2-height/2, width, height)];

image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext();

return image;

}//生成二维码

​二、扫描二维码

扫描二维码,之前有用ZBarSDK做过,但是不理想,因为有边框去不掉,自定义的控件也没有达到好的效果,看到微信的扫描二维码,觉得还很不错,于是乎找了很多的材料,最终不负使命。 用这个SYQRCodeViewController,根据项目需要进行微调就可以。

下载地址 https://github.com/reesun1130/SYQRCodeDemo

需要注意的是:(1)兼容ios7.0以上;(2)扫描二维码需要访问相册,ios8.0默认相机是打开可以访问的,但是ios7.0需要判断相机权限。​

​- (BOOL)isAVCaptureActive

{ AVCaptureDevice *aDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

NSError *inputError = nil;

AVCaptureDeviceInput *aInput = [AVCaptureDeviceInput deviceInputWithDevice:aDevice error:&inputError];

if (aInput == nil){
UIAlertView alert = [[UIAlertView alloc] initWithTitle:@”温馨提醒” message:@”\n您还未允许’’访问你的相机,如果需要请设置:设置–>隐私–>相机–>悦享惠–>打开” delegate:nil cancelButtonTitle:@”知道了\n” otherButtonTitles:nil];

[alert show]; return NO;

}else{

return YES; }

}//判断相机权限是否打开

0
0
查看评论

swift生成二维码,扫描二维码

swift实现二维码的生成、扫描, swift实现iOS切换应用~ swift版本3 Xcode 7.3
  • HK_5788
  • HK_5788
  • 2016-09-10 20:04
  • 2362

【Android】Android实现扫描、生成二维码的功能

目前二维码很火,究其原因,二维码很方便,存储的信息多。    那么在Android中如何才能实现扫描二维码呢?    说到扫描二维码,不得不提到Zxing库,Zxing库是Android开发者从Android源码中抽取的与二维码有关的类文件。  &#...
  • qq_32353771
  • qq_32353771
  • 2016-11-16 19:51
  • 1571

iOS扫描二维码与生成二维码

objective-c二维码的扫码与生成 objective-c二维码的扫码与生成扫描二维码 生成二维码 1.扫描二维码 获取输入设备(当前是摄像头) AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AV...
  • wddyzzw
  • wddyzzw
  • 2017-02-08 17:07
  • 234

iOS开发-原生二维码的扫描和生成

从iOS7开始官方集成了二维码的扫描和生成功能  此前被广泛使用的zbarsdk目前不支持64位处理器 1.扫描二维码 扫描二维码需要导入AVFoundation框架  利用摄像头识别二维码中的内容(模拟器不行) 输入(摄像头)  由会话将摄像头采集...
  • chengkaizone
  • chengkaizone
  • 2016-01-22 13:23
  • 7689

IOS中生成二维码、扫描二维码

转载自:  http://www.jianshu.com/p/b8bf300e9a56 从IOS7开始集成了二维码的生成和读取功能 生成二维码 1 导入CoreImage框架 #import 2 通过滤镜CIFilter生成二维码 /** * 生成...
  • chenyong05314
  • chenyong05314
  • 2016-07-01 22:45
  • 1251

ios开发 根据URL或字符串生成二维码

1.二话不说直接上代码//1. 实例化二维码滤镜 CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 2. 恢复滤镜的默认属性 [filter setDefaults]; // 3. 将字符串...
  • SurpassBlack
  • SurpassBlack
  • 2017-05-31 16:04
  • 1243

扫描二维码 和  生成二维码

1.扫描二维码 扫描二维码需要导入AVFoundation框架  利用摄像头识别二维码中的内容(模拟器不行) 输入(摄像头)  由会话将摄像头采集到的二维码图像转换成字符串数据  输出(数据)  由预览图层显示扫描场景 // 实例化拍...
  • sinat_35710100
  • sinat_35710100
  • 2016-07-27 15:58
  • 182

iOS之长按识别二维码/生成二维码/扫描二维码

参考:http://www.jianshu.com/p/997cec333822 参考:https://github.com/nglszs/BCQRcode 方式一: #import @interface ViewController : UIViewController ...
  • u011146511
  • u011146511
  • 2017-07-21 15:03
  • 263

Android 使用Zxing实现二维码的生成,扫描

在项目中要使用到二维码的相关内容,百度(原谅我还在用)之后得知一半都是使用Google的开源库 Zxing,但是网上多半的使用教程都是比较早的,这里给出我总结的一些基础代码和使用规则:首先要一定要先去官网看看:github-Zxing官方库的地址 github-zxing-android-embe...
  • qq_28057541
  • qq_28057541
  • 2016-07-26 14:37
  • 34482

扫描二维码和生成二维码

public class MainActivity extends Activity implements OnClickListener{ private TextView textView; private EditText editText1; private Button butto...
  • u013682507
  • u013682507
  • 2015-07-13 13:41
  • 197
    个人资料
    • 访问:156064次
    • 积分:2577
    • 等级:
    • 排名:第16775名
    • 原创:136篇
    • 转载:5篇
    • 译文:0篇
    • 评论:17条
    最新评论