二维码扫描和成像,成像带小图标 自定义色值

原创 2015年07月07日 11:08:05
  1. //  
  2. //  YYViewController.h  
  3. //  Dm  
  4. //  
  5. //  Created by *** on 14-4-11.  
  6. //  Copyright (c) 2014年 **. All rights reserved.  
  7. //  
  8.   
  9. #import <UIKit/UIKit.h>  
  10. #import "ZBarSDK.h"  
  11. #import <QuartzCore/QuartzCore.h>  
  12. @interface YYViewController : UIViewController<ZBarReaderDelegate,UITextFieldDelegate>  
  13.   
  14. -(IBAction)btnyy:(id)sender;  
  15. -(IBAction)btnsm:(id)sender;  
  16. @end  

[objc] view plaincopy
  1. //  
  2. //  YYViewController.m  
  3. //  Dm  
  4. //  
  5. //  Created by ** on 14-4-11.  
  6. //  Copyright (c) 2014年 **. All rights reserved.  
  7. //  
  8.   
  9. #import "YYViewController.h"  
  10. #import "QRCodeGenerator.h"  
  11.   
  12. @interface YYViewController ()  
  13. {  
  14.     IBOutlet UIButton *btnyy;  
  15.     IBOutlet UIImageView *img;  
  16.     IBOutlet UITextField *sd;  
  17. }  
  18. @end  
  19.   
  20. @implementation YYViewController  
  21.   
  22. - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil  
  23. {  
  24.     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];  
  25.     if (self) {  
  26.         // Custom initialization  
  27.     }  
  28.     return self;  
  29. }  
  30.   
  31. - (void)viewDidLoad  
  32. {  
  33.     [super viewDidLoad];  
  34.     sd.delegate=self;  
  35.     // Do any additional setup after loading the view from its nib.  
  36. }  
  37.   
  38. - (void)didReceiveMemoryWarning  
  39. {  
  40.     [super didReceiveMemoryWarning];  
  41.     // Dispose of any resources that can be recreated.  
  42. }  
  43. -(IBAction)btnsm:(id)sender  
  44. {  
  45.     /*扫描二维码部分: 
  46.      导入ZBarSDK文件并引入一下框架 
  47.      AVFoundation.framework 
  48.      CoreMedia.framework 
  49.      CoreVideo.framework 
  50.      QuartzCore.framework 
  51.      libiconv.dylib 
  52.      引入头文件#import “ZBarSDK.h” 即可使用 
  53.      当找到条形码时,会执行代理方法 
  54.       
  55.      - (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info 
  56.       
  57.      最后读取并显示了条形码的图片和内容。*/  
  58.     [sd resignFirstResponder];  
  59.     if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]){  
  60.     ZBarReaderViewController *reader = [ZBarReaderViewController new];  
  61.     reader.readerDelegate = self;  
  62.     reader.supportedOrientationsMask = ZBarOrientationMaskAll;  
  63.       
  64.     ZBarImageScanner *scanner = reader.scanner;  
  65.       
  66.     [scanner setSymbology: ZBAR_I25  
  67.                    config: ZBAR_CFG_ENABLE  
  68.                        to: 0];  
  69.       
  70.     [self presentModalViewController: reader  
  71.                             animated: YES];  
  72.     }  
  73.     else  
  74.     {  
  75.         UIAlertView *aler=[[UIAlertView alloc]initWithTitle:@"Message" message:@"无法打开设备的摄像头!请授权!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确认", nil nil];  
  76.         [aler show];  
  77.     }  
  78.    
  79.   
  80.       
  81. }  
  82. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation  
  83. {  
  84.     return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);  
  85. }  
  86. - (void) imagePickerController: (UIImagePickerController*) reader  
  87.  didFinishPickingMediaWithInfo: (NSDictionary*) info  
  88. {  
  89.       [sd resignFirstResponder];  
  90.     id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];  
  91.     ZBarSymbol *symbol = nil;  
  92.     for(symbol in results)  
  93.         // EXAMPLE: just grab the first barcode  
  94.         break;  
  95.       
  96.     // EXAMPLE: do something useful with the barcode data  
  97.     NSLog(@"%@",symbol.data);  
  98.       
  99.     img.image =  
  100.     [info objectForKey: UIImagePickerControllerOriginalImage];  
  101.       
  102.     [reader dismissModalViewControllerAnimated: YES];  
  103.       
  104.     //判断是否包含 头'http:'  
  105.     NSString *regex = @"http+:[^\\s]*";  
  106.     NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];  
  107.       
  108.     //判断是否包含 头'ssid:'  
  109.     NSString *ssid = @"ssid+:[^\\s]*";;  
  110.     NSPredicate *ssidPre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",ssid];  
  111.       
  112.     sd.text =  symbol.data ;  
  113.       
  114.     if ([predicate evaluateWithObject:sd.text]) {  
  115.           
  116.         UIAlertView * alert = [[UIAlertView alloc]initWithTitle:nil  
  117.                                                         message:@"It will use the browser to this URL。"  
  118.                                                        delegate:nil  
  119.                                               cancelButtonTitle:@"Close"  
  120.                                               otherButtonTitles:@"Ok", nil nil];  
  121.         alert.delegate = self;  
  122.         alert.tag=1;  
  123.         [alert show];  
  124.    
  125.           
  126.     }  
  127.     else if([ssidPre evaluateWithObject:sd.text]){  
  128.           
  129.         NSArray *arr = [sd.text componentsSeparatedByString:@";"];  
  130.           
  131.         NSArray * arrInfoHead = [[arr objectAtIndex:0] componentsSeparatedByString:@":"];  
  132.           
  133.         NSArray * arrInfoFoot = [[arr objectAtIndex:1] componentsSeparatedByString:@":"];  
  134.           
  135.           
  136.         sd.text=  
  137.         [NSString stringWithFormat:@"ssid: %@ \n password:%@",  
  138.          [arrInfoHead objectAtIndex:1],[arrInfoFoot objectAtIndex:1]];  
  139.           
  140.           
  141.         UIAlertView * alert = [[UIAlertView alloc]initWithTitle:sd.text  
  142.                                                         message:@"The password is copied to the clipboard , it will be redirected to the network settings interface"  
  143.                                                        delegate:nil  
  144.                                               cancelButtonTitle:@"Close"  
  145.                                               otherButtonTitles:@"Ok", nil nil];  
  146.           
  147.           
  148.         alert.delegate = self;  
  149.         alert.tag=2;  
  150.         [alert show];  
  151.    
  152.         UIPasteboard *pasteboard=[UIPasteboard generalPasteboard];  
  153.         //        然后,可以使用如下代码来把一个字符串放置到剪贴板上:  
  154.         pasteboard.string = [arrInfoFoot objectAtIndex:1];  
  155.           
  156.           
  157.     }  
  158.       
  159. }  
  160. -(BOOL)textFieldShouldReturn:(UITextField *)textField  
  161. {  
  162.     [textField resignFirstResponder];  
  163.     return YES;  
  164. }  
  165. -(IBAction)btnyy:(id)sender  
  166. {  
  167.     [sd resignFirstResponder];  
  168.     UIImage *imgs=[UIImage imageNamed:@"1xx.png"];  
  169.     img.image = [QRCodeGenerator qrImageForString:sd.text imageSize:img.bounds.size.width Topimg:imgs];  
  170. //    img.image= [QRCodeGenerator  qrImageForString:sd.text imageSize:img.frame.size.width withPointType:0 withPositionType:0 withColor:[UIColor redColor]];  
  171. }  
  172.   
  173. @end  
版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS 二维码扫描和成像,成像带小图标 自定义色值

工具下载:http://download.csdn.net/detail/wsk_123_123/7177635
  • wsk_123_123
  • wsk_123_123
  • 2014年04月11日 15:03
  • 5559

大话成像之数字成像系统培训

数字成像系统暨Image signal processor原理培训 大户成像公众号,知乎专栏
  • weixin_39833520
  • weixin_39833520
  • 2017年08月13日 18:06
  • 585

透镜成像原理,眼球成像原理,小孔成像原理

规律总结 规律1:当物距大于2倍焦距时,则像距在1倍焦距和2倍焦距之间,成倒立、缩小的实像。此时像距小于物距,像比物小,物像异侧。 应用:照相机、摄像机。 规律2:当物距等于2倍焦距时,则像距...
  • OnafioO
  • OnafioO
  • 2016年04月05日 15:58
  • 4055

双眼视图,立体成像和感知深度

1、大脑使用两眼视角之间的不同来感知深度。 2、不要忽略单眼的感知深度,像纹理和灯光。 3、在Rift中,用户最舒适的感知深度是0.75到3.5米之间(1米=1unity单位)。 4、通过OVR配置工...
  • zhz604483686
  • zhz604483686
  • 2016年04月10日 11:03
  • 999

激光成像雷达技术 你了解清楚了吗?

激光成像雷达的发展一直受到各国的高度关注,究其原因,主要是因为激光成像雷达有这一系列的优点!激光成像雷达究竟有哪些优点,以及工作原理如何,本文将为大家详细揭晓!...
  • SLAMTEC
  • SLAMTEC
  • 2017年04月05日 17:08
  • 1715

摄像头成像原理

摄像头成像原理 菜鸟式简介,我也是初次接触摄像头成像原理,但是我是做图像算法的,所以里面有些东西还是不难理解,算是自己的一份笔记吧。 主要参考的是下面文章: 摄像头工作原理 里面专有名词或者其他相...
  • sophia_xw
  • sophia_xw
  • 2017年04月14日 09:40
  • 710

【图像处理】相机成像原理

这里对于相机成像原理做一个简单的介绍。 如下图所示,在最左端的顶点为相机,它的镜头正对着地面上的点O,横向视场角为a,纵向视场角为θ,它所看到的区域就是就是如下所示的四边形,存在一定的投影变换。 ...
  • jaych
  • jaych
  • 2016年02月17日 23:10
  • 816

CCD/CMOS的成像原理(内含rgb元件如何分布)

原网址为:http://tucsen.net/Html/NewsView.asp?ID=40         上面这张是常见CCD相机成像过程的简单描述,现说明一下:   1、...
  • olenet
  • olenet
  • 2013年10月16日 16:09
  • 1989

Kinect图像成像原理

Kinect有发射、捕捉、计算视觉重现的类似过程。严格说来,Kinect的“深度眼睛”是由一个红外投影机和红外摄像头组合而成的,投影和接收互为重叠,如图3-27所示。   可以说,Ki...
  • u013425527
  • u013425527
  • 2014年08月02日 14:10
  • 1033

《合成孔径雷达成像——算法与实现》之【0】仿真汇报

《合成孔径雷达成像——算法与实现》之仿真汇报- 主要是对《合成孔径雷达——算法与实现》这本书上的部分Figure、算法以及光盘数据处理进行了仿真,最后制成了一个PPT。以后将把所有作品一一贴出!...
  • Destiny0321
  • Destiny0321
  • 2016年11月01日 23:28
  • 3417
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二维码扫描和成像,成像带小图标 自定义色值
举报原因:
原因补充:

(最多只允许输入30个字)