【发布时间】:2018-06-28 19:02:46
【问题描述】:
我正在将图像叠加到生成的二维码上。 但是当我试图将位置图像更改为中心时,它不会移动到中心,而是移动到另一个地方。
这是我的二维码
let overlayImage = UIImage(named: "asdasd")
var overlayImageView = UIImageView(image: overlayImage)
var QRCodeImage: CIImage!
var barcodeImage: CIImage!
func generateQRCode(from string:String) -> UIImage? {
let data = string.data(using: String.Encoding.isoLatin1)
if let filter = CIFilter(name:"CIQRCodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
let transform = CGAffineTransform(scaleX: 100, y: 100)
if let output = filter.outputImage?.transformed(by: transform) {
return UIImage(ciImage: output)
}
}
return nil
}
这是显示叠加图像和二维码的代码
if (QRCodeImage == nil && barcodeImage == nil) {
if let actualText = QRText.text {
let imageQRCode = generateQRCode(from: actualText)
let imageBarcode = generateBarcode(from: actualText)
overlayImageView.frame = CGRect(x: 0, y: 0, width: 45, height: 45)
overlayImageView.center = imgQRCode.center //////////
overlayImageView.contentMode = .scaleAspectFill
imgQRCode.addSubview(overlayImageView)
var mainImageView = UIImageView(image:imageQRCode)
mainImageView.addSubview(overlayImageView)
imgQRCode.image = imageQRCode
imgBarcode.image = imageBarcode
}
我使用overlayImageView.center 得到的结果是
【问题讨论】:
标签: ios uikit qr-code core-image