如何保存/共享按比例缩小的图像而不会模糊

时间:2017-08-11 01:15:11

标签: ios iphone image-processing uiimage image-resizing

我有一个真实的问题。我使用以下算法进行图像大小调整和共享。

func resizeImageWith(newSize: CGSize) -> UIImage {

    let horizontalRatio = newSize.width / size.width
    let verticalRatio = newSize.height / size.height

    let ratio = max(horizontalRatio, verticalRatio)
    let newSize = CGSize(width: size.width * ratio, height: size.height * ratio)
    UIGraphicsBeginImageContextWithOptions(newSize, true, 0)
    draw(in: CGRect(origin: CGPoint(x: 0, y: 0), size: newSize))
    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return newImage!
}


func shareImageToSM(image : UIImage) {

    let imageToShare = [ image ]

    let activityVC = UIActivityViewController(activityItems: imageToShare, applicationActivities: nil)

    //New Excluded Activities Code
    if #available(iOS 9.0, *) {
        activityVC.excludedActivityTypes = [UIActivityType.airDrop, UIActivityType.addToReadingList, UIActivityType.openInIBooks]
    } else {
        activityVC.excludedActivityTypes = [UIActivityType.airDrop, UIActivityType.addToReadingList]
    }
    //

    activityVC.popoverPresentationController?.sourceView = self.view
    self.present(activityVC, animated: true, completion: nil)
}


它正确调整图像大小。就像它将我的600x600图像缩小到150x150 但是,当我尝试保存或共享缩小的图像时,它会获得与实际图像相同的大小,但会变得模糊。请参阅以下图片。 Actual image size and dimensions

以上是实际图像尺寸和尺寸600x600 Resized image size and dimensions

这是已保存/共享的已调整大小的图片(150x150) 我希望这个图像以150x150维度保存/共享,但实际上更高的像素质量,如下图所示。请帮助我,这对我来说是一个严重的问题和头痛。 enter image description here

0 个答案:

没有答案