Reduce file size .png swift
我需要在不更改图像尺寸的情况下减小带有 .png 扩展名的图像的大小。在我创建图像时,将其保存在缓存中,文件大小为 1.3 M 我怎样才能将大小减小到 500KB?
- stackoverflow.com/questions/29726643/…
- @LeoDabus 谢谢!,但我需要 png 格式的图像
我认为这对你有帮助。
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
extension UIImage {
func resizeWith(percentage: CGFloat) -> UIImage? { let imageView = UIImageView(frame: CGRect(origin: .zero, size: CGSize(width: size.width * percentage, height: size.height * percentage))) imageView.contentMode = .scaleAspectFit imageView.image = self UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, false, scale) guard let context = UIGraphicsGetCurrentContext() else { return nil } imageView.layer.render(in: context) guard let result = UIGraphicsGetImageFromCurrentImageContext() else { return nil } UIGraphicsEndImageContext() return result } func resizeWith(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.render(in: context) guard let result = UIGraphicsGetImageFromCurrentImageContext() else { return nil } UIGraphicsEndImageContext() return result } } |
并使用。
1
2 3 4 |
let myPicture = UIImage(data: try! Data(contentsOf: URL(string:“add the URL”)!))!
let myThumb1 = myPicture.resizeWith(percentage: 0.5) |
- 谢谢@Ravi,但这改变了我需要保持相同高度和宽度的图像尺寸。
来源:https://www.codenong.com/39552129/