# EFQRCode **Repository Path**: ma-zhida/EFQRCode ## Basic Information - **Project Name**: EFQRCode - **Description**: EFQRCode 是一个轻量级的、用来生成和识别二维码的纯 Swift 库,可根据输入的水印图和图标产生艺术二维码,基于 CoreGraphics、CoreImage 和 ImageIO 进行开发。EFQRCode 为你提供了一种更好的在你的 App 中操作二维码的方式,它能够运行于 iOS、macOS、watchOS 和 tvOS 平台,并且支持通过 CocoaPods、Carthage 和 Swift Package Manager 获取。 - **Primary Language**: Swift - **License**: MIT - **Default Branch**: master - **Homepage**: https://github.com/EFPrefix/EFQRCode - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2022-05-30 - **Last Updated**: 2022-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 
EFQRCode 是一个轻量级的、用来生成和识别二维码的纯 Swift 库,可根据输入的水印图和图标产生艺术二维码,基于 `CoreGraphics`、`CoreImage` 和 `ImageIO` 进行开发。EFQRCode 为你提供了一种更好的在你的 App 中操作二维码的方式,它能够运行于 `iOS`、`macOS`、`watchOS` 和 `tvOS` 平台,并且支持通过 `CocoaPods`、`Carthage` 和 `Swift Package Manager` 获取。本项目受 [qrcode](https://github.com/sylnsfar/qrcode) 启发。 > [English Introduction](https://github.com/EFPrefix/EFQRCode/blob/master/README.md) ## 概述 ||| :---------------------:|:---------------------:|:---------------------:|:---------------------: ||| ## 示例 ### 应用商店 你可以点击下方的 App Store 按钮从应用商店下载示例程序,支持 `iOS`、`tvOS` 和 `watchOS`:
#### 4. 动态二维码
可通过 EFQRCode 的类方法 generateWithGIF 来创建 GIF 二维码,使用方式如下:
```swift
// data: 输入的 GIF 图片的数据
// generator: 一个用来获取设置的 EFQRCodeGenerator 对象
// pathToSave (Optional): 用来存储 GIF 的路径,默认不填的话会存储在临时路径
// delay (Optional): 输出的动态 QRCode 的帧间延时,默认不填的话从输入的 GIF 图片获取
// loopCount (Optional): 输出的动态 QRCode 的循环次数,默认不填的话从输入的 GIF 图片获取
```
```swift
if let qrcodeData = EFQRCode.generateWithGIF(data: data, generator: generator) {
print("Create QRCode image success.")
} else {
print("Create QRCode image failed!")
}
```
你可以通过查看 Demo 代码的方式来获取更多信息,结果预览:
#### 5. 接下来
查看 [用户手册](https://github.com/EFPrefix/EFQRCode/blob/master/USERGUIDE_CN.md) 了解更多细节。
您也可以查看下列非官方的使用说明:
- [不用请设计师,你也能做出个性二维码:EFQRCode](https://sspai.com/post/43211)
- [想更优雅地分享 Wi-Fi 密码,只需一枚二维码](https://sspai.com/post/43097)
## 待办
- [x] 支持 GIF 动图
- [ ] 支持更多样式
## 备注
1. 请选用对比度较高的前景色和背景色组合;
2. 想要提高生成二维码的清晰度可以选择使用 `magnificatio` 替代 `size`,或适当提高它们的数值;
3. 放大倍数过高/边长过大/二维码内容过多可能会导致生成失败;
4. 建议对生成的二维码进行测试后投入使用,例如微信能够扫描成功并不代表支付宝也能成功扫描,请务必根据您的具体业务需要做有针对性的测试;
5. 若有任何问题,期待得到您的反馈,`Issue` 和 `Pull request` 都是受欢迎的。
备注的备注:好用的话可以给个`星星`,蟹蟹,QAQ...
## 其它平台/语言
平台/语言|链接
:-------------------------|:-------------------------
Objective-C|[https://github.com/z624821876/YSQRCode](https://github.com/z624821876/YSQRCode)
Java|[https://github.com/SumiMakito/AwesomeQRCode](https://github.com/SumiMakito/AwesomeQRCode)
JavaScript|[https://github.com/SumiMakito/Awesome-qr.js](https://github.com/SumiMakito/Awesome-qr.js)
Kotlin|[https://github.com/SumiMakito/AwesomeQRCode-Kotlin](https://github.com/SumiMakito/AwesomeQRCode-Kotlin)
Python|[https://github.com/sylnsfar/qrcode](https://github.com/sylnsfar/qrcode)
## 贡献者
这个项目的存在多亏了所有贡献的人。 [[Contribute](https://github.com/EFPrefix/EFQRCode/blob/master/CONTRIBUTING.md)]
|
|
|
|
|
|
|
|
|
|
|
|
|
|