zoukankan      html  css  js  c++  java
  • iOS开发——生成条形码,二维码

    - (void)viewDidLoad {

        [super viewDidLoad];

        

        self.imageView.image = [self generateBarCode:@"1524829417" 60 height:60];

        

        self.imageView2.image = [self generateQRCode:@"1524829417" 60 height:60];

    }

    - (UIImage *)generateBarCode:(NSString *)code (CGFloat)width height:(CGFloat)height {

        // 生成条形码图片

        CIImage *barcodeImage;

        NSData *data = [code dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:false];

        CIFilter *filter = [CIFilter filterWithName:@"CICode128BarcodeGenerator"];

        

        [filter setValue:data forKey:@"inputMessage"];

        barcodeImage = [filter outputImage];

        

        // 消除模糊

        CGFloat scaleX = width / barcodeImage.extent.size.width; // extent 返回图片的frame

        CGFloat scaleY = height / barcodeImage.extent.size.height;

        CIImage *transformedImage = [barcodeImage imageByApplyingTransform:CGAffineTransformScale(CGAffineTransformIdentity, scaleX, scaleY)];

        

        return [UIImage imageWithCIImage:transformedImage];

    }

    - (UIImage *)generateQRCode:(NSString *)code (CGFloat)width height:(CGFloat)height {

        

        // 生成二维码图片

        CIImage *qrcodeImage;

        NSData *data = [code dataUsingEncoding:NSISOLatin1StringEncoding allowLossyConversion:false];

        CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];

        

        [filter setValue:data forKey:@"inputMessage"];

        [filter setValue:@"H" forKey:@"inputCorrectionLevel"];

        qrcodeImage = [filter outputImage];

        

        // 消除模糊

        CGFloat scaleX = width / qrcodeImage.extent.size.width; // extent 返回图片的frame

        CGFloat scaleY = height / qrcodeImage.extent.size.height;

        CIImage *transformedImage = [qrcodeImage imageByApplyingTransform:CGAffineTransformScale(CGAffineTransformIdentity, scaleX, scaleY)];

        

        return [UIImage imageWithCIImage:transformedImage];

    }

  • 相关阅读:
    就这样吧
    搞了个1.0版本,名字和预定的一样改成OIFaQ了
    算了,总结一下教训
    我刚经历了人生中第一次版本回滚,目前感觉良好,请党和人民放心
    这有点爽的
    我决定出1.0的时候改名叫OIFaQ
    换个SSD把D盘弄飞了
    算是交代一下这三天的空白
    构建之法读书笔记03
    构建之法读书笔记02
  • 原文地址:https://www.cnblogs.com/yyt-hehe-yyt/p/4801555.html
Copyright © 2011-2022 走看看