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

处理 二维码密度

parent 3f010e53
...@@ -179,26 +179,6 @@ extension YHInvatationShareViewController { ...@@ -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? { func combinedImageFrom(imageView: UIImageView) -> UIImage? {
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, 0.0) UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, 0.0)
// 首先绘制 imageView 的内容 // 首先绘制 imageView 的内容
...@@ -307,26 +287,6 @@ class YHShareOneCollectionViewCell: UICollectionViewCell { ...@@ -307,26 +287,6 @@ class YHShareOneCollectionViewCell: UICollectionViewCell {
imageView.image = qrCode 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 { class YHShareTwoCollectionViewCell: UICollectionViewCell {
...@@ -380,29 +340,11 @@ class YHShareTwoCollectionViewCell: UICollectionViewCell { ...@@ -380,29 +340,11 @@ class YHShareTwoCollectionViewCell: UICollectionViewCell {
make.width.height.equalTo(20) 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属性来显示二维码 // 可以将qrCode设置为UIImageView的image属性来显示二维码
imageView.image = qrCode 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 { ...@@ -100,16 +100,8 @@ private extension YHVisaPayTypeCell {
// 确保应用有权访问相册 // 确保应用有权访问相册
PHPhotoLibrary.requestAuthorization { status in PHPhotoLibrary.requestAuthorization { status in
if status == .authorized { if status == .authorized {
// 保存图片到相册
// 保存UIImage对象到相册 // 保存UIImage对象到相册
UIImageWriteToSavedPhotosAlbum(image, self, #selector(self.image(_:didFinishSavingWithError:contextInfo:)), nil) UIImageWriteToSavedPhotosAlbum(image, self, #selector(self.image(_:didFinishSavingWithError:contextInfo:)), nil)
//
//// DispatchQueue.main.async {
//// YHHUD.flash(message: "保存成功")
//// }
//
//
// UIImageWriteToSavedPhotosAlbum(
} else { } else {
YHHUD.flash(message: "保存失败,请检查系统权限") YHHUD.flash(message: "保存失败,请检查系统权限")
} }
......
...@@ -260,23 +260,24 @@ extension String { ...@@ -260,23 +260,24 @@ extension String {
///字符串 生成二维码 ///字符串 生成二维码
func generateQRCode() -> UIImage? { func generateQRCode() -> UIImage? {
guard let data = self.data(using: .ascii, allowLossyConversion: false) else { //方法一
return nil // guard let data = self.data(using: .ascii, allowLossyConversion: false) else {
} // return nil
// }
let filter = CIFilter(name: "CIQRCodeGenerator") //
filter?.setValue(data, forKey: "inputMessage") // let filter = CIFilter(name: "CIQRCodeGenerator")
// filter?.setValue(data, forKey: "inputMessage")
guard let outputImage = filter?.outputImage else { //
return nil // guard let outputImage = filter?.outputImage else {
} // return nil
// }
let context = CIContext() //
if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) { // let context = CIContext()
return UIImage(cgImage: cgImage) // if let cgImage = context.createCGImage(outputImage, from: outputImage.extent) {
} // return UIImage(cgImage: cgImage)
// }
return nil //
// return nil
//方法二 保存图片的时候有问题 //方法二 保存图片的时候有问题
...@@ -295,5 +296,24 @@ extension String { ...@@ -295,5 +296,24 @@ extension String {
// let qrCodeImage = UIImage(ciImage: transformedImage) // let qrCodeImage = UIImage(ciImage: transformedImage)
// //
// return qrCodeImage // 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