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

图片保存

parent 54201774
......@@ -392,7 +392,7 @@ extension YHCertificateAppointViewController {
waitAppointMembers.removeAll()
for user in users {
if user.isAtLeast11Years() { // 不小于11岁的人才能预约赴港
user.isSelectedFlag = true
user.isSelected = true
waitAppointMembers.append(user)
} else {
......
......@@ -101,20 +101,43 @@ private extension YHVisaPayTypeCell {
PHPhotoLibrary.requestAuthorization { status in
if status == .authorized {
// 保存图片到相册
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
DispatchQueue.main.async {
YHHUD.flash(message: "保存成功")
}
// 保存UIImage对象到相册
UIImageWriteToSavedPhotosAlbum(image, self, #selector(self.image(_:didFinishSavingWithError:contextInfo:)), nil)
//
//// DispatchQueue.main.async {
//// YHHUD.flash(message: "保存成功")
//// }
//
//
// UIImageWriteToSavedPhotosAlbum(
} else {
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) {
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 {
///字符串 生成二维码
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
let data = self.data(using: String.Encoding.ascii)
guard let data = self.data(using: .ascii, allowLossyConversion: false) else {
return nil
}
let filter = CIFilter(name: "CIQRCodeGenerator")
filter?.setValue(data, forKey: "inputMessage")
filter?.setValue("H", forKey: "inputCorrectionLevel") // 设置二维码的容错率
// 获取生成的二维码CIImage
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) {
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