EFQRCODE es una biblioteca liviana de flujo puro para generar imágenes QRCode estilizadas con marca de agua o icono, y para reconocer QRCode a partir de imágenes, inspirados en QRCode. Basado en CoreGraphics , CoreImage e ImageIO , EFQRCode le proporciona una mejor manera de manejar QRCode en su aplicación, sin importar si está en iOS, MacOS, WatchOS y/o TVOS. Puede integrar EFQRCODE a través de Cocoapods, Carthage y/o Swift Package Manager.
中文介绍
Puede hacer clic en el botón App Store a continuación para descargar la demostración, admitir iOS, tvos y watchos:
También puede hacer clic en el botón Mac App Store a continuación para descargar la demostración para macOS:
Para ejecutar el proyecto de ejemplo manualmente, clonar el repositorio, las demostraciones están en la carpeta 'Ejemplos', recuerde ejecutar el comando sh Startup.sh en el terminal para obtener todas las dependencias primero, luego abran EFQRCode.xcworkspace con xcode y seleccione el objetivo que desee, ejecute.
O puede ejecutar el siguiente comando en la terminal:
git clone [email protected]:EFPrefix/EFQRCode.git ; cd EFQRCode ; sh Startup.sh ; open ' EFQRCode.xcworkspace ' | Versión | Necesidades |
|---|---|
| 1.x | Xcode 8.0+ Swift 3.0+ iOS 8.0+ / macOS 10.11+ / tvos 9.0+ |
| 4.x | Xcode 9.0+ Swift 4.0+ iOS 8.0+ / macOS 10.11+ / tvos 9.0+ / watchos 2.0+ |
| 5.x | Xcode 11.1+ Swift 5.0+ iOS 8.0+ / macOS 10.11+ / tvos 9.0+ / watchos 2.0+ |
| 6.x | Xcode 12.0+ iOS 9.0+ / macOS 10.10+ / tvos 9.0+ / watchos 2.0+ |
EFQRCODE está disponible a través de Cocoapods. Para instalarlo, simplemente agregue la siguiente línea a su Podfile:
pod 'EFQRCode' , '~> 6.2.2'Luego, ejecute el siguiente comando:
$ pod installIMPORTANTE : Esta solución es necesaria para que Carthage funcione de alguna manera en Xcode 12.
Carthage es un gerente de dependencia descentralizado que construye sus dependencias y le proporciona marcos binarios.
Puede instalar Carthage con HomeBrew usando el siguiente comando:
$ brew update
$ brew install carthage Para integrar EFQRCode en su proyecto XCode usando Carthage, especifíquelo en su Cartfile :
github "EFPrefix/EFQRCode" ~> 6.2.2
Ejecute carthage update para crear el marco y arrastre el EFQRCode.framework construido en su proyecto XCode.
El Swift Package Manager es una herramienta para automatizar la distribución del código Swift y está integrado en el compilador Swift.
Una vez que tenga su paquete Swift configurado, agregar efqrcode como dependencia es tan fácil como agregarlo al valor de dependencies de su Package.swift .
dependencies: [
. package ( url : " https://github.com/EFPrefix/EFQRCode.git " , . upToNextMinor ( from : " 6.2.2 " ) )
] Importar el módulo EFQRCODE donde desea usarlo:
import EFQRCode Se devuelve una matriz de cadenas, ya que puede haber varios códigos QR en una sola CGImage :
if let testImage = UIImage ( named : " test.png " ) ? . cgImage {
let codes = EFQRCode . recognize ( testImage )
if !codes . isEmpty {
print ( " There are ( codes . count ) codes " )
for (index , code ) in codes . enumerated ( ) {
print ( " The content of QR Code ( index ) is ( code ) . " )
}
} else {
print ( " There is no QR Codes in testImage. " )
}
} Crear imagen de código QR, uso básico:
| Parámetro | Descripción |
|---|---|
content | Requerido , contenido del código QR |
size | Ancho y altura de la imagen |
backgroundColor | Color de fondo de QRCode |
foregroundColor | Color de primer plano de QRCode |
watermark | Imagen de fondo de QRCode |
if let image = EFQRCode . generate (
for : " https://github.com/EFPrefix/EFQRCode " ,
watermark : UIImage ( named : " WWF " ) ? . cgImage
) {
print ( " Create QRCode image success ( image ) " )
} else {
print ( " Create QRCode image failed! " )
}Resultado:
Use EFQRCode.generateGIF para crear GIF QRCode.
| Parámetro | Descripción |
|---|---|
generator | Requerido , una instancia EFQRCodeGenerator con otras configuraciones |
data | GIF de entrada codificada requerida |
delay | Salida QRCode GIF Retraso, emitido significa que no hay cambios |
loopCount | Times bucleados en GIF, emitido significa que no hay cambios |
if let qrCodeData = EFQRCode . generateGIF (
using : generator , withWatermarkGIF : data
) {
print ( " Create QRCode image success. " )
} else {
print ( " Create QRCode image failed! " )
}Puede obtener más información de la demostración, el resultado le gustará esto:
Obtenga más información de la guía del usuario.
size o escalar utilizando magnification (en su lugar);Issue como Pull request son bienvenidos. PS de PS: Desearía que pueda hacer clic en el botón Star si esta herramienta es útil para usted, gracias, QAQ ...
| Plataformas/idiomas | Enlace |
|---|---|
| Objetivo-C | https://github.com/z624821876/ysqrcode |
| Java | https://github.com/sumimakito/awesomeqrcode |
| Javascript | https://github.com/sumimakito/awesome-qr.js |
| Kotlín | https://github.com/sumimakito/awesomeqrcode-kotlin |
| Pitón | https://github.com/sylnsfar/qrcode |
Este proyecto existe gracias a todas las personas que ya contribuyeron a nosotros. [Contribuir]
Si crees que este proyecto te ha traído ayuda, puedes comprarme una taza de café. Si le gusta este proyecto y está dispuesto a brindar más apoyo para su desarrollo, puede elegir convertirse en Backer en Open Collective. ¡Gracias a todos nuestros patrocinadores! [Conviértete en un patrocinador]
Parte de las imágenes en el proyecto de demostración y la guía provienen de Internet. Si hay alguna infracción de sus derechos e intereses legítimos, contáctenos para eliminar.
Correo electrónico: [email protected]
EFQRCODE está disponible bajo la licencia MIT. Consulte el archivo de licencia para obtener más información.