【发布时间】:2018-01-19 09:36:51
【问题描述】:
我有一个真正的问题。我使用了以下算法来调整图像大小和共享。
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
但是,当我尝试保存或共享该按比例缩小的图像时,它会获得与实际图像相同的大小,但会变得模糊。请看以下图片。
这是保存/共享的调整大小的图片 (150x150)。
我希望此图像以 150x150 尺寸保存/共享,但实际像素质量更高,如下图所示。请帮助我,这对我来说是一个严重的问题和头痛。
【问题讨论】:
-
您可以发布您的代码以供分享吗?
-
完成 @ReinierMelian 我正在使用 UIActivityViewController 进行图像共享/保存。
-
缺少代码的重要部分(保存),不是吗?
-
@Trilarion 不,UIActivityViewController 也允许您将附加的图像直接保存到图库。
标签: ios iphone image-processing uiimage image-resizing