iOS 随机图片验证码
来源:互联网 发布:淘宝店铺pc端首页多高 编辑:程序博客网 时间:2024/06/05 22:42
- - (void)onTapToGenerateCode:(UITapGestureRecognizer *)tap {
- for (UIView *view in self.checkCodeNumberLabel.subviews) {
- [view removeFromSuperview];
- }
- // @{
- // @name 生成背景色
- float red = arc4random() % 100 / 100.0;
- float green = arc4random() % 100 / 100.0;
- float blue = arc4random() % 100 / 100.0;
- UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:0.2];
- [self.checkCodeNumberLabel setBackgroundColor:color];
- // @} end 生成背景色
- // @{
- // @name 生成文字
- const int count = 5;
- char data[count];
- for (int x = 0; x < count; x++) {
- int j = '0' + (arc4random_uniform(75));
- if((j >= 58 && j <= 64) || (j >= 91 && j <= 96)){
- --x;
- }else{
- data[x] = (char)j;
- }
- }
- NSString *text = [[NSString alloc] initWithBytes:data
- length:count encoding:NSUTF8StringEncoding];
- self.code = text;
- // @} end 生成文字
- CGSize cSize = [@"S" sizeWithFont:[UIFont systemFontOfSize:16]];
- int width = self.checkCodeNumberLabel.frame.size.width / text.length - cSize.width;
- int height = self.checkCodeNumberLabel.frame.size.height - cSize.height;
- CGPoint point;
- float pX, pY;
- for (int i = 0, count = text.length; i < count; i++) {
- pX = arc4random() % width + self.checkCodeNumberLabel.frame.size.width / text.length * i - 1;
- pY = arc4random() % height;
- point = CGPointMake(pX, pY);
- unichar c = [text characterAtIndex:i];
- UILabel *tempLabel = [[UILabel alloc]
- initWithFrame:CGRectMake(pX, pY,
- self.checkCodeNumberLabel.frame.size.width / 4,
- self.checkCodeNumberLabel.frame.size.height)];
- tempLabel.backgroundColor = [UIColor clearColor];
- // 字体颜色
- float red = arc4random() % 100 / 100.0;
- float green = arc4random() % 100 / 100.0;
- float blue = arc4random() % 100 / 100.0;
- UIColor *color = [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
- NSString *textC = [NSString stringWithFormat:@"%C", c];
- tempLabel.textColor = color;
- tempLabel.text = textC;
- [self.checkCodeNumberLabel addSubview:tempLabel];
- }
- // 干扰线
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextSetLineWidth(context, 1.0);
- for(int i = 0; i < count; i++) {
- red = arc4random() % 100 / 100.0;
- green = arc4random() % 100 / 100.0;
- blue = arc4random() % 100 / 100.0;
- color = [UIColor colorWithRed:red green:green blue:blue alpha:1.0];
- CGContextSetStrokeColorWithColor(context, [color CGColor]);
- pX = arc4random() % (int)self.checkCodeNumberLabel.frame.size.width;
- pY = arc4random() % (int)self.checkCodeNumberLabel.frame.size.height;
- CGContextMoveToPoint(context, pX, pY);
- pX = arc4random() % (int)self.checkCodeNumberLabel.frame.size.width;
- pY = arc4random() % (int)self.checkCodeNumberLabel.frame.size.height;
- CGContextAddLineToPoint(context, pX, pY);
- CGContextStrokePath(context);
- }
- return;
- }
http://blog.csdn.net/woaifen3344/article/details/25731305
0 0
- iOS 随机图片验证码
- iOS开发-随机图片验证码
- 随机图片验证码
- 随机生成图片验证码
- 随机生成图片验证码
- 随机生成图片验证码
- 生成随机验证码图片
- 随机图片验证码实现
- 生成随机图片验证码
- 随机生成图片验证码
- 随机生成图片验证码
- 生成随机图片验证码
- 随机生成图片验证码
- 生成随机验证码图片
- 随机生成图片验证码
- iOS随机生成验证码
- iOS随机生成验证码
- iOS 图片验证码
- 循环链表
- 伯凡时间-1612
- WebRTC VideoEngine综合应用示例(二)——集成OPENH264编解码器
- Kruskal算法
- 下载链接后的MD5是什么意思?
- iOS 随机图片验证码
- WebRTC VideoEngine综合应用示例(三)——集成X264编码和ffmpeg解码
- 深入四大组件之Service
- [Notes] 摘《何林--信息学中的守恒法》
- 点击其他地方隐藏div
- celebrate Google developer
- Java -- 入口函数浅析
- java线程中yield(),sleep(),wait()区别详解
- SAP ABAP自建表被删,如何查看记录