Commit 423ee249 authored by David黄金龙's avatar David黄金龙

图片保存

parent 54201774
...@@ -392,7 +392,7 @@ extension YHCertificateAppointViewController { ...@@ -392,7 +392,7 @@ extension YHCertificateAppointViewController {
waitAppointMembers.removeAll() waitAppointMembers.removeAll()
for user in users { for user in users {
if user.isAtLeast11Years() { // 不小于11岁的人才能预约赴港 if user.isAtLeast11Years() { // 不小于11岁的人才能预约赴港
user.isSelectedFlag = true user.isSelected = true
waitAppointMembers.append(user) waitAppointMembers.append(user)
} else { } else {
......
...@@ -101,20 +101,43 @@ private extension YHVisaPayTypeCell { ...@@ -101,20 +101,43 @@ private extension YHVisaPayTypeCell {
PHPhotoLibrary.requestAuthorization { status in PHPhotoLibrary.requestAuthorization { status in
if status == .authorized { if status == .authorized {
// 保存图片到相册 // 保存图片到相册
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) // 保存UIImage对象到相册
DispatchQueue.main.async { UIImageWriteToSavedPhotosAlbum(image, self, #selector(self.image(_:didFinishSavingWithError:contextInfo:)), nil)
YHHUD.flash(message: "保存成功") //
} //// DispatchQueue.main.async {
//// YHHUD.flash(message: "保存成功")
//// }
//
//
// UIImageWriteToSavedPhotosAlbum(
} else { } else {
YHHUD.flash(message: "保存失败,请检查系统权限") YHHUD.flash(message: "保存失败,请检查系统权限")
} }
} }
} }
@objc func image(_ image: UIImage, didFinishSavingWithError error: Error?, contextInfo: UnsafeMutableRawPointer?) {
// 保存完成后的处理逻辑
if let error = error {
print("保存照片失败:\(error.localizedDescription)")
YHHUD.flash(message: "保存失败")
} else {
print("保存照片成功")
YHHUD.flash(message: "保存成功")
}
}
/// 长按 /// 长按
@objc func onLongPress(_ press: UILongPressGestureRecognizer) { @objc func onLongPress(_ press: UILongPressGestureRecognizer) {
if press.state == .began { if press.state == .began {
saveImage(UIImage(named: "visaPay_qr") ?? UIImage()) if let image = self.qrCodeImageView.image {
saveImage(image)
} else {
YHHUD.flash(message: "保存失败")
}
} }
} }
......
...@@ -260,39 +260,40 @@ extension String { ...@@ -260,39 +260,40 @@ extension String {
///字符串 生成二维码 ///字符串 生成二维码
func generateQRCode() -> UIImage? { func generateQRCode() -> UIImage? {
// guard let data = self.data(using: .ascii, allowLossyConversion: false) else { guard let data = self.data(using: .ascii, allowLossyConversion: false) else {
// return nil 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
let data = self.data(using: String.Encoding.ascii)
let filter = CIFilter(name: "CIQRCodeGenerator") let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(data, forKey: "inputMessage") filter?.setValue(data, forKey: "inputMessage")
filter?.setValue("H", forKey: "inputCorrectionLevel") // 设置二维码的容错率
guard let outputImage = filter?.outputImage else {
// 获取生成的二维码CIImage return nil
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
// 将CIImage转换为UIImage
let scaleX = 5.0
let scaleY = 5.0
let transformedImage = outputImage.transformed(by: CGAffineTransform(scaleX: scaleX, y: scaleY))
let qrCodeImage = UIImage(ciImage: transformedImage)
return qrCodeImage //方法二 保存图片的时候有问题
// let data = self.data(using: String.Encoding.ascii)
// let filter = CIFilter(name: "CIQRCodeGenerator")
// filter?.setValue(data, forKey: "inputMessage")
// filter?.setValue("H", forKey: "inputCorrectionLevel") // 设置二维码的容错率
//
// // 获取生成的二维码CIImage
// guard let outputImage = filter?.outputImage else { return nil }
//
// // 将CIImage转换为UIImage
// let scaleX = 5.0
// let scaleY = 5.0
// let transformedImage = outputImage.transformed(by: CGAffineTransform(scaleX: scaleX, y: scaleY))
// let qrCodeImage = UIImage(ciImage: transformedImage)
//
// return qrCodeImage
} }
} }
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "image 56@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "image 56@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
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