Commit f400c820 authored by David黄金龙's avatar David黄金龙

处理 二维码密度

parent 3f010e53
......@@ -179,26 +179,6 @@ extension YHInvatationShareViewController {
}
func generateQRCode(from string: String) -> UIImage? {
guard let data = string.data(using: .ascii, allowLossyConversion: false) else {
return nil
}
let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(data, forKey: "inputMessage")
guard let outputImage = filter?.outputImage else {
return nil
}
let context = CIContext()
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
return UIImage(cgImage: cgImage)
}
return nil
}
func combinedImageFrom(imageView: UIImageView) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, 0.0)
// 首先绘制 imageView 的内容
......@@ -307,26 +287,6 @@ class YHShareOneCollectionViewCell: UICollectionViewCell {
imageView.image = qrCode
}
}
// func generateQRCode(from string: String) -> UIImage? {
// guard let data = string.data(using: .ascii, allowLossyConversion: false) else {
// return nil
// }
//
// let filter = CIFilter(name: "CIQRCodeGenerator")
// filter?.setValue(data, forKey: "inputMessage")
//
// guard let outputImage = filter?.outputImage else {
// return nil
// }
//
// let context = CIContext()
// if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
// return UIImage(cgImage: cgImage)
// }
//
// return nil
// }
}
class YHShareTwoCollectionViewCell: UICollectionViewCell {
......@@ -380,29 +340,11 @@ class YHShareTwoCollectionViewCell: UICollectionViewCell {
make.width.height.equalTo(20)
}
if let qrCode = generateQRCode(from: YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/evaluation?channel=lkhtj-app&customer_id=\(YHLoginManager.shared.userModel?.id ?? "")&scene_id=30") {
let qrString = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/evaluation?channel=lkhtj-app&customer_id=\(YHLoginManager.shared.userModel?.id ?? "")&scene_id=30"
if let qrCode = qrString.generateQRCode() {
// 可以将qrCode设置为UIImageView的image属性来显示二维码
imageView.image = qrCode
}
}
func generateQRCode(from string: String) -> UIImage? {
guard let data = string.data(using: .ascii, allowLossyConversion: false) else {
return nil
}
let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(data, forKey: "inputMessage")
guard let outputImage = filter?.outputImage else {
return nil
}
let context = CIContext()
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
return UIImage(cgImage: cgImage)
}
return nil
}
}
......@@ -100,16 +100,8 @@ private extension YHVisaPayTypeCell {
// 确保应用有权访问相册
PHPhotoLibrary.requestAuthorization { status in
if status == .authorized {
// 保存图片到相册
// 保存UIImage对象到相册
UIImageWriteToSavedPhotosAlbum(image, self, #selector(self.image(_:didFinishSavingWithError:contextInfo:)), nil)
//
//// DispatchQueue.main.async {
//// YHHUD.flash(message: "保存成功")
//// }
//
//
// UIImageWriteToSavedPhotosAlbum(
} else {
YHHUD.flash(message: "保存失败,请检查系统权限")
}
......
......@@ -260,23 +260,24 @@ extension String {
///字符串 生成二维码
func generateQRCode() -> UIImage? {
guard let data = self.data(using: .ascii, allowLossyConversion: false) else {
return nil
}
let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(data, forKey: "inputMessage")
guard let outputImage = filter?.outputImage else {
return nil
}
let context = CIContext()
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
return UIImage(cgImage: cgImage)
}
return nil
//方法一
// guard let data = self.data(using: .ascii, allowLossyConversion: false) else {
// return nil
// }
//
// let filter = CIFilter(name: "CIQRCodeGenerator")
// filter?.setValue(data, forKey: "inputMessage")
//
// guard let outputImage = filter?.outputImage else {
// return nil
// }
//
// let context = CIContext()
// if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
// return UIImage(cgImage: cgImage)
// }
//
// return nil
//方法二 保存图片的时候有问题
......@@ -295,5 +296,24 @@ extension String {
// let qrCodeImage = UIImage(ciImage: transformedImage)
//
// return qrCodeImage
//方法三
let data = self.data(using: String.Encoding.ascii)
if let filter = CIFilter(name: "CIQRCodeGenerator") {
filter.setValue(data, forKey: "inputMessage")
filter.setValue("H", forKey: "inputCorrectionLevel")
if let output = filter.outputImage {
let scale = 10.0 // 可以调整这个值来改变二维码的分辨率
let transformedImage = output.transformed(by: CGAffineTransform(scaleX: scale, y: scale))
let context = CIContext(options: nil)
if let cgImage = context.createCGImage(transformedImage, from: transformedImage.extent) {
return UIImage(cgImage: cgImage)
}
}
}
return nil
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment