0
写真のサイズ変更と圧縮が異常な結果になっています。写真のサイズ変更と圧縮
フォトアルバムから画像を選択すると、画像が圧縮されて細かく調整されます。しかし、私がカメラから渡された画像上でそれを行うと、画像が奇妙に小さくなります(そして、耳にすることができません)。私がテストとして行ったことは、カメラソースまたはフォトアルバムのいずれかから画像を取得するボタンの圧縮とサイズ変更の機能を割り当てることです。以下は私のコードと、コンソール出力は写真をリサイズ画像5004キロバイトサイズの前にフォトアルバム
から選ばれた
@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 } }
(3024.0、3024.0)です リサイズ画像1023キロバイトのサイズ(1080.0た後、 1080.0)中品質に
圧縮= 119キロバイト
写真をリサイズ画像4653キロバイトのサイズ(24385.536、24385.536)の前にカメラ
によって渡された
1080リサイズ画像25キロバイトのサイズ(1080.576、1080.576)
圧縮後、培地品質= 4キロバイト
に