`
lizhuang
  • 浏览: 906047 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iOS 生成二维码,生成条形码图片

 
阅读更多
#pragma mark - 生成条形码以及二维码

// 参考文档
// https://developer.apple.com/library/mac/documentation/GraphicsImaging/Reference/CoreImageFilterReference/index.html

- (UIImage *)generateQRCode:(NSString *)code width:(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];
}

- (UIImage *)generateBarCode:(NSString *)code width:(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];
}
分享到:
评论

相关推荐

    iOS 二维码 条形码的生成与扫描

    二、生成二维码和条形码 1. 使用第三方库:在iOS开发中,常用的第三方库有ZXing(Zebra Crossing)和AVFoundation。ZXing是一个开源项目,提供了多种编码格式的支持,包括QR码和条形码。AVFoundation是苹果提供的...

    ios-条形码,二维码生成器.zip

    "ios-条形码,二维码生成器.zip" 提供了一个解决方案,帮助开发者实现在iOS设备上动态生成条形码和二维码,并且考虑到了扫描设备的兼容性问题。下面我们将详细探讨相关知识点。 1. **条形码与二维码的原理**: ...

    基于UniApp的二维码条形码生成.zip

    同样需要安装并引入到项目中,然后通过API生成条形码,设置相应的类型(如EAN-13)和值。 6. **扫描二维码和条形码** UniApp提供了`uni.scanCode`接口,可以实现对二维码和条形码的扫描。调用方法如下: ```...

    iOS 二维码扫描 - 生成二维码图片-扫描二维码图片

    在iOS开发中,二维码(Quick...在实际开发中,根据项目需求,还可以扩展到生成条形码、读取多种类型的元数据,或者结合网络请求进一步处理扫描结果等。LCQRCodeUtil工具类的使用将大大简化这些操作,使得开发更加高效。

    ios-oc 生成二维码.zip

    本资源“ios-oc 生成二维码.zip”显然包含了关于如何在Objective-C中实现二维码生成的功能。二维码作为一种信息载体,能够存储文本、网址、联系信息等多种数据,并能被快速读取,因此在移动应用中广泛应用,如社交...

    iOS二维码生成Demo

    在iOS开发中,生成二维码是一项常见的需求,尤其在移动支付、信息传递等方面有着广泛的应用。本Demo,"hhgQRCodeDemo",就是一个简洁的示例,教你如何在iOS应用中实现字符串到二维码的转换。这里我们将深入探讨相关...

    ios-二维码和条形码的生成.zip

    这个压缩包“ios-二维码和条形码的生成.zip”包含了一个简单的iOS项目,它演示了如何快速地在应用中生成二维码和条形码。以下是对这个项目的详细解释和相关知识点的阐述。 首先,项目中的关键类库很可能是`JGQRCode...

    iOS二维码的生成和扫描Demo

    二维码(Quick Response Code)是一种二维条形码,能够存储比传统条形码更多的数据,包括文字、网址、联系人信息、邮件地址等。它的优点在于能够快速读取和解码,且占用空间小,适合在移动设备上使用。 二、iOS中的...

    iOS使用ZXingObjC二维码条形码扫描

    在iOS开发中,集成二维码和条形码扫描功能是一个常见的需求。ZXingObjC是一个流行的开源库,专门用于实现这种功能。本篇文章将详细介绍如何在iOS项目中使用ZXingObjC进行二维码和条形码的扫描,并通过CocoaPods进行...

    IOS条码二维码生成和识别

    要使用`NKDBarcode`,你需要将库文件导入到你的项目中,然后创建一个`NKDUPCEAN13`或`NKDCode128`对象,设置条码数据,最后调用`generateImageWithSize:`方法生成条形码图像。这样,你就可以在应用中显示或保存生成...

    iOS生成指定大小的 二维码 和 条形码

    首先,我们要用到的库是`AVFoundation`,它是Apple提供的多媒体处理框架,其中包含了生成二维码和条形码的能力。下面是一些关键步骤和知识点: 1. **导入AVFoundation框架**:在你的Swift文件顶部,添加`import ...

    iOS二维码(扫描二维码)

    二维码是一种二维条形码,由黑白相间的方块组成,每个方块代表一个二进制位。二维码将数据编码为这种图形格式,使得机器可以快速读取。iOS设备通过相机捕获二维码图像,然后利用图像处理技术解析图像中的数据,最终...

    iOS端二维码自定义扫描页和生成二维码

    本文将深入探讨如何在iOS平台上实现二维码的自定义扫描界面以及生成二维码,主要基于ZBar和libqrencode这两个开源库。 首先,让我们来看看ZBar。ZBar是一个强大的条码阅读器库,它支持多种类型的条码和二维码,包括...

    扫瞄二维码和条形码 生成二维码

    本文将详细讲解如何在iOS平台上扫瞄二维码和条形码,并生成二维码,以适应Xcode 4.6的开发环境。 首先,我们需要引入必要的库。在Xcode 4.6及更早版本中,苹果提供了AVFoundation框架,它包含了扫描二维码和条形码...

    ios自带扫瞄二维码和生成二维码

    在iOS平台上,苹果的生态系统提供了丰富的API来支持开发者实现各种功能,其中之一就是扫描和生成二维码。这个工具类,名为SCanCode,专为iOS 7及以上版本设计,旨在简化这一过程,让开发者能够轻松地在自己的应用中...

    实现二维码,条形码,防微信二维码扫描,自己添加一个生成二维码,条形码

    生成二维码或条形码时,我们通常会传递要编码的数据和一些可选参数,如二维码的纠错级别、尺寸等。如果要生成带有logo的二维码,需要将logo图像作为额外参数传递,库会将其嵌入到二维码的中心,以增加识别度和品牌...

    ios-ZBar 二维码、条形码的扫描与生成.zip

    使用`ZBarWriter`类可以生成二维码和条形码的图像。提供需要编码的数据和选择的条码类型,`ZBarWriter`会返回一个包含条码的UIImage对象,可以将这个图像添加到任何需要显示的地方。 8. **权限处理** 在iOS 10及...

    ios-二维码,条形码、创建扫描支持cocoaPod(Object-C).zip

    对于开发者来说,这意味着可以快速地在自己的应用中添加扫描和生成二维码、条形码的功能,而无需从零开始编写复杂的图像处理和识别代码。 首先,关于扫描功能,ZZYQRCode库通常会提供一个简单的界面,用户可以通过...

    iOS 原生二维码扫描与生成(swift版)

    二维码(Quick Response Code)是一种二维条形码,能够存储更多的数据,包括文字、网址、电话号码等。它通过特定的编码规则将这些信息转化为黑白方块图形,然后通过读取设备进行解码。 在Swift中,CoreImage框架...

Global site tag (gtag.js) - Google Analytics