BusinessCard/BusinessCardWatch/Services/WatchQRCodeService.swift

18 lines
615 B
Swift

import CoreImage
import CoreImage.CIFilterBuiltins
import CoreGraphics
struct WatchQRCodeService {
private let context = CIContext()
func qrCode(from payload: String) -> CGImage? {
let data = Data(payload.utf8)
let filter = CIFilter.qrCodeGenerator()
filter.setValue(data, forKey: "inputMessage")
filter.correctionLevel = "M"
guard let outputImage = filter.outputImage else { return nil }
let scaledImage = outputImage.transformed(by: CGAffineTransform(scaleX: 10, y: 10))
return context.createCGImage(scaledImage, from: scaledImage.extent)
}
}