QRCode con CoreImage e Swift

Saturday, Jun 12, 2021| Tags: core image, swift, iOS, programmazione

Breve antefatto: mi chiedono di generare dei qrCode 600×600 per una lista di URL. Apro Xcode, creo un nuovo Playground e in dieci minuti preparo un programmino in Swift 😚

qrcode

Generare un qrCode con CoreImage è questioni di pochi minuti:

import CoreImage
import CoreImage.CIFilterBuiltins

let qrCodeFilter = CIFilter.qrCodeGenerator()
qrCodeFilter.setValue("Hello,World!".data(using: .utf8, allowLossyConversion: false), forKey: "inputMessage")

if let rawQRCode = qrCodeFilter.outputImage {
    let scale = 600 / rawQRCode.extent.width
    let qrCodeOutput = rawQRCode.transformed(by: CGAffineTransform(scaleX: scale, y: scale))

    //salviamo un png nella home dell'utente
    //per iOS utilizzare un percorso diverso... homeDirectoryForCurrentUser è disponibile solo su macOS
    try! CIContext().writePNGRepresentation(of: qrCodeOutput, 
            to: FileManager.default.homeDirectoryForCurrentUser.appendingPathComponent("qrcode.png"), 
            format: CIFormat.RGBA16, 
            colorSpace: CGColorSpace(name: CGColorSpace.sRGB)!,
            options: [:])
}

SO WHAT DO YOU THINK?

Fancy a successful project? Result oriented, deep technical knowledge and business attitude. I can be the perfect man for you.

Contact me