J'ai une véritable question. J'ai utilisé l'algorithme suivant pour le redimensionnement et le partage d'image.Comment enregistrer/partager une image réduite sans être floue
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)
}
Il redimensionne l'image correctement. Comme si elle redimensionnait mon image 600x600 en 150x150 Mais lorsque j'essaie de sauvegarder ou de partager cette image réduite, elle obtient la même taille que celle de l'image réelle mais devient floue. S'il vous plaît voir les images suivantes.
ci-dessus est la taille réelle de l'image et les dimensions de 600x600
Et ce l'image redimensionnée (150x150) qui est enregistré/partagé.
Je veux que cette image soit enregistrée/partagée en dimension 150x150 mais avec une qualité de pixel plus élevée comme l'image suivante. S'il vous plaît aidez-moi, c'est un problème grave et un mal de tête pour moi.
Pouvez-vous publier votre code pour partager? –
done @ReinierMelian J'utilise UIActivityViewController pour le partage/l'enregistrement d'images. –
La partie importante de votre code (la sauvegarde) est manquante, n'est-ce pas? – Trilarion