gpt4 book ai didi

ios - 照片调整大小和压缩

转载 作者:行者123 更新时间:2023-11-30 13:04:12 24 4
gpt4 key购买 nike

我正在调整照片大小并压缩照片,这是一个不寻常的结果。

当我从相册中选择图像时,图像会很好地压缩和调整大小。但是,如果我在从相机传递的图像上执行此操作,则图像会变得异常小(并且无法观看)。我所做的测试是在按钮中分配一些压缩和调整大小功能,该按钮从相机源或相册中获取图像。下面是我的代码和控制台输出

@IBAction func testBtnPressed(sender: AnyObject) {
let img = selectedImageView.image!
print("before resize image \(img.dataLengh_kb)kb size \(img.size)")

let resizedImg = img.resizeWithWidth(1080)
print("1080 After resize image \(resizedImg!.dataLengh_kb)kb size \(resizedImg!.size)")

let compressedImageData = resizedImg!.mediumQualityJPEGNSData
print("Compress to medium quality = \(compressedImageData.length / 1024)kb")
}

extension UIImage {
var mediumQualityJPEGNSData: NSData { return UIImageJPEGRepresentation(self, 0.5)! }

func resizeWithWidth(width: CGFloat) -> UIImage? {
let imageView = UIImageView(frame: CGRect(origin: .zero, size: CGSize(width: width, height: CGFloat(ceil(width/size.width * size.height)))))
imageView.contentMode = .ScaleAspectFit
imageView.image = self
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, scale)
guard let context = UIGraphicsGetCurrentContext() else { return nil }
imageView.layer.renderInContext(context)
guard let result = UIGraphicsGetImageFromCurrentImageContext() else { return nil }
UIGraphicsEndImageContext()
return result
}
}

从相册中选择照片时

before resize image 5004kb size (3024.0, 3024.0)

1080 After resize image 1023kb size (1080.0, 1080.0)

Compress to medium quality = 119kb

当照片通过相机时

before resize image 4653kb size (24385.536, 24385.536)

1080 After resize image 25kb size (1080.576, 1080.576)

Compress to medium quality = 4kb

最佳答案

我已将图像调整大小功能替换为以下功能,效果好多了

func resizeImage(newHeight: CGFloat) -> UIImage {

let scale = newHeight / self.size.height
let newWidth = self.size.width * scale
UIGraphicsBeginImageContext(CGSizeMake(newWidth, newHeight))
self.drawInRect(CGRectMake(0, 0, newWidth, newHeight))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

return newImage
}

关于ios - 照片调整大小和压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39573524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com