我正在开发一款应用程序,其中包含带有信息的二维码。我知道如何实现这一点,但是我需要将二维码的颜色从黑色改为红色。尽管我认为这应该很容易,但我找不到一个好的答案使其成为可能。以下是我的代码和二维码屏幕截图,谢谢。
import UIKit
class QRCodeViewController: UIViewController {
@IBOutlet weak var imgQRCode: UIImageView!
func generateQRCode(from string: String) -> UIImage? {
let data = string.data(using: String.Encoding.utf8)
if let filter = CIFilter(name: "CIQRCodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
filter.setValue("H", forKey: "inputCorrectionLevel")
guard let qrCodeImage = filter.outputImage
else {
return nil
}
let scaleX = imgQRCode.frame.size.width / qrCodeImage.extent.size.width
let scaleY = imgQRCode.frame.size.height / qrCodeImage.extent.size.height
let transform = CGAffineTransform(scaleX: scaleX, y: scaleY)
if let output = filter.outputImage?.applying(transform) {
return UIImage(ciImage: output)
}
}
return nil
}
override func viewDidLoad() {
super.viewDidLoad()
let image = generateQRCode(from: "Este es el código generado")
imgQRCode.image = image
}
}