123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280 |
- //
- // DemoListViewModel.m
- // LBXScanDemo
- //
- // Created by lbxia on 2017/4/1.
- // Copyright © 2017年 lbx. All rights reserved.
- //
- #import "StyleDIY.h"
- #import <AVFoundation/AVFoundation.h>
- @implementation StyleDIY
- #pragma mark -模仿qq界面
- + (LBXScanViewStyle*)qqStyle
- {
- //设置扫码区域参数设置
-
- //创建参数对象
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
-
- //矩形区域中心上移,默认中心点为屏幕中心点
- style.centerUpOffset = 44;
-
- //扫码框周围4个角的类型,设置为外挂式
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_Outer;
-
- //扫码框周围4个角绘制的线条宽度
- style.photoframeLineW = 6;
-
- //扫码框周围4个角的宽度
- style.photoframeAngleW = 24;
-
- //扫码框周围4个角的高度
- style.photoframeAngleH = 24;
-
- //扫码框内 动画类型 --线条上下移动
- style.anmiationStyle = LBXScanViewAnimationStyle_LineMove;
-
- //线条上下移动图片
- style.animationImage = [UIImage imageNamed:@"CodeScan.bundle/qrcode_scan_light_green"];
-
- style.notRecoginitonArea = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
-
- return style;
- }
- #pragma mark --模仿支付宝
- + (LBXScanViewStyle*)ZhiFuBaoStyle
- {
- //设置扫码区域参数
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
- style.centerUpOffset = 60;
- style.xScanRetangleOffset = 30;
-
- if ([UIScreen mainScreen].bounds.size.height <= 480 )
- {
- //3.5inch 显示的扫码缩小
- style.centerUpOffset = 40;
- style.xScanRetangleOffset = 20;
- }
-
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_Inner;
- style.photoframeLineW = 2.0;
- style.photoframeAngleW = 16;
- style.photoframeAngleH = 16;
-
- style.isNeedShowRetangle = NO;
- style.anmiationStyle = LBXScanViewAnimationStyle_NetGrid;
-
- style.notRecoginitonArea = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
-
- //使用的支付宝里面网格图片
- UIImage *imgFullNet = [UIImage imageNamed:@"CodeScan.bundle/qrcode_scan_full_net"];
- style.animationImage = imgFullNet;
-
- return style;
- }
- #pragma mark -无边框,内嵌4个角
- + (LBXScanViewStyle*)InnerStyle
- {
- //设置扫码区域参数
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
- style.centerUpOffset = 44;
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_Inner;
- style.photoframeLineW = 3;
- style.photoframeAngleW = 18;
- style.photoframeAngleH = 18;
- style.isNeedShowRetangle = NO;
-
- style.anmiationStyle = LBXScanViewAnimationStyle_LineMove;
-
- //qq里面的线条图片
- UIImage *imgLine = [UIImage imageNamed:@"CodeScan.bundle/qrcode_scan_light_green"];
- style.animationImage = imgLine;
-
- style.notRecoginitonArea = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
-
- return style;
- }
- #pragma mark -无边框,内嵌4个角
- + (LBXScanViewStyle*)weixinStyle
- {
- //设置扫码区域参数
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
-
- style.centerUpOffset = 44;
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_Inner;
- style.photoframeLineW = 2;
- style.photoframeAngleW = 18;
- style.photoframeAngleH = 18;
- style.isNeedShowRetangle = YES;
- style.anmiationStyle = LBXScanViewAnimationStyle_LineMove;
- style.colorAngle = [UIColor colorWithRed:0./255 green:200./255. blue:20./255. alpha:1.0];
-
- //qq里面的线条图片
- UIImage *imgLine = [UIImage imageNamed:@"CodeScan.bundle/qrcode_Scan_weixin_Line"];
- style.animationImage = imgLine;
-
- style.notRecoginitonArea = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
-
- return style;
- }
- #pragma mark -框内区域识别
- + (LBXScanViewStyle*)recoCropRect
- {
- //设置扫码区域参数
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
-
- style.centerUpOffset = 44;
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_On;
- style.photoframeLineW = 6;
- style.photoframeAngleW = 24;
- style.photoframeAngleH = 24;
- style.isNeedShowRetangle = YES;
- style.anmiationStyle = LBXScanViewAnimationStyle_NetGrid;
- //矩形框离左边缘及右边缘的距离
- style.xScanRetangleOffset = 80;
-
- //使用的支付宝里面网格图片
- UIImage *imgPartNet = [UIImage imageNamed:@"CodeScan.bundle/qrcode_scan_part_net"];
- style.animationImage = imgPartNet;
-
- style.notRecoginitonArea = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
-
- return style;
- }
- #pragma mark -4个角在矩形框线上,网格动画
- + (LBXScanViewStyle*)OnStyle
- {
- //设置扫码区域参数
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
- style.centerUpOffset = 44;
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_On;
- style.photoframeLineW = 6;
- style.photoframeAngleW = 24;
- style.photoframeAngleH = 24;
- style.isNeedShowRetangle = YES;
- style.anmiationStyle = LBXScanViewAnimationStyle_NetGrid;
-
- //使用的支付宝里面网格图片
- UIImage *imgPartNet = [UIImage imageNamed:@"CodeScan.bundle/qrcode_scan_part_net"];
- style.animationImage = imgPartNet;
-
- style.notRecoginitonArea = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
-
- return style;
- }
- #pragma mark -自定义4个角及矩形框颜色
- + (LBXScanViewStyle*)changeColor
- {
- //设置扫码区域参数
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
-
- style.centerUpOffset = 44;
- //扫码框周围4个角的类型设置为在框的上面
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_On;
- //扫码框周围4个角绘制线宽度
- style.photoframeLineW = 6;
- //扫码框周围4个角的宽度
- style.photoframeAngleW = 24;
- //扫码框周围4个角的高度
- style.photoframeAngleH = 24;
- //显示矩形框
- style.isNeedShowRetangle = YES;
- //动画类型:网格形式,模仿支付宝
- style.anmiationStyle = LBXScanViewAnimationStyle_NetGrid;
-
- style.animationImage = [UIImage imageNamed:@"CodeScan.bundle/qrcode_scan_part_net"];;
- //码框周围4个角的颜色
- style.colorAngle = [UIColor colorWithRed:65./255. green:174./255. blue:57./255. alpha:1.0];
- //矩形框颜色
- style.colorRetangleLine = [UIColor colorWithRed:247/255. green:202./255. blue:15./255. alpha:1.0];
- //非矩形框区域颜色
- style.notRecoginitonArea = [UIColor colorWithRed:247./255. green:202./255 blue:15./255 alpha:0.2];
-
- return style;
- }
- #pragma mark -改变扫码区域位置
- + (LBXScanViewStyle*)changeSize
- {
- //设置扫码区域参数
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
-
- //矩形框向上移动
- style.centerUpOffset = 60;
- //矩形框离左边缘及右边缘的距离
- style.xScanRetangleOffset = 100;
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_On;
- style.photoframeLineW = 6;
- style.photoframeAngleW = 24;
- style.photoframeAngleH = 24;
- style.isNeedShowRetangle = YES;
- style.anmiationStyle = LBXScanViewAnimationStyle_LineMove;
-
- //qq里面的线条图片
- UIImage *imgLine = [UIImage imageNamed:@"CodeScan.bundle/qrcode_scan_light_green"];
- style.animationImage = imgLine;
-
- style.notRecoginitonArea = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
-
- return style;
- }
- #pragma mark -非正方形,可以用在扫码条形码界面
- + (UIImage*) createImageWithColor: (UIColor*) color
- {
- CGRect rect=CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
- UIGraphicsBeginImageContext(rect.size);
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextSetFillColorWithColor(context, [color CGColor]);
- CGContextFillRect(context, rect);
- UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return theImage;
- }
- + (LBXScanViewStyle*)notSquare
- {
- //设置扫码区域参数
- LBXScanViewStyle *style = [[LBXScanViewStyle alloc]init];
- style.centerUpOffset = 44;
- style.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle_Inner;
- style.photoframeLineW = 4;
- style.photoframeAngleW = 28;
- style.photoframeAngleH = 16;
- style.isNeedShowRetangle = NO;
-
- style.anmiationStyle = LBXScanViewAnimationStyle_LineStill;
- style.animationImage = [[self class] createImageWithColor:[UIColor redColor]];
- //非正方形
- //设置矩形宽高比
- style.whRatio = 4.3/2.18;
- //离左边和右边距离
- style.xScanRetangleOffset = 30;
-
- style.notRecoginitonArea = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.6];
-
- return style;
- }
- @end
|