zoukankan      html  css  js  c++  java
  • iOS 7 二维码的生成

        //二维码生成
        
        //UIImageView *theImageView = [[UIImageView alloc]init];
        //[self.view addSubview:theImageView];
        
        CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
        [filter setDefaults];
        NSData *data = [@"hello worold!" dataUsingEncoding:NSUTF8StringEncoding];
        [filter setValue:data forKey:@"inputMessage"];
        
        CIImage *outputImage = [filter outputImage];
        
        CIContext *context = [CIContext contextWithOptions:nil];
        CGImageRef cgImage = [context createCGImage:outputImage
                                           fromRect:[outputImage extent]];
        
        UIImage *image = [UIImage imageWithCGImage:cgImage
                                             scale:1.
                                       orientation:UIImageOrientationUp];
        
        NSLog(@"image QRCode : %@",NSStringFromCGSize(image.size));
        // Resize without interpolating
        UIImage *resized = [self resizeImage:image
                                 withQuality:kCGInterpolationNone
                                        rate:5.0];
        
        NSLog(@"%@",NSStringFromCGSize(resized.size));
    
        UIImageView *theImageView =[[UIImageView alloc]initWithImage:resized];
        theImageView.frame = CGRectMake(100, 200, 100, 100);
        [self.view addSubview:theImageView];
        
        CGImageRelease(cgImage);
    

      由于生成的二维码和图片非常小,所以使用方法放大了5倍

    //Resize image
    
    - (UIImage *)resizeImage:(UIImage *)image
                 withQuality:(CGInterpolationQuality)quality
                        rate:(CGFloat)rate
    {
    	UIImage *resized = nil;
    	CGFloat width = image.size.width * rate;
    	CGFloat height = image.size.height * rate;
    	
    	UIGraphicsBeginImageContext(CGSizeMake(width, height));
    	CGContextRef context = UIGraphicsGetCurrentContext();
    	CGContextSetInterpolationQuality(context, quality);
    	[image drawInRect:CGRectMake(0, 0, width, height)];
    	resized = UIGraphicsGetImageFromCurrentImageContext();
    	UIGraphicsEndImageContext();
    	
    	return resized;
    }
    

      生成的结果:

              

  • 相关阅读:
    一次友情协助的渗透测试
    jQuery---微博发布案例
    jQuery---清空节点和删除节点
    jQuery---城市选择案例
    jQuery---创建和添加节点
    jQuery---动态创建节点
    jQuery---音乐导航
    jQuery---停止动画详解 stop();
    jQuery---手风琴案例+stop的使用(解决动画队列的问题)
    jQuery---自定义动画 animate();
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3382501.html
Copyright © 2011-2022 走看看