The simplest way to resize an UIImage?

前端 未结 30 3426
迷失自我
迷失自我 2020-11-21 22:38

In my iPhone app, I take a picture with the camera, then I want to resize it to 290*390 pixels. I was using this method to resize the image :

UIImage *newI         


        
30条回答
  •  广开言路
    2020-11-21 23:06

    use this extension

    extension UIImage {
        public func resize(size:CGSize, completionHandler:(resizedImage:UIImage, data:NSData?)->()) {
            dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), { () -> Void in
                let newSize:CGSize = size
                let rect = CGRectMake(0, 0, newSize.width, newSize.height)
                UIGraphicsBeginImageContextWithOptions(newSize, false, 1.0)
                self.drawInRect(rect)
                let newImage = UIGraphicsGetImageFromCurrentImageContext()
                UIGraphicsEndImageContext()
                let imageData = UIImageJPEGRepresentation(newImage, 0.5)
                dispatch_async(dispatch_get_main_queue(), { () -> Void in
                    completionHandler(resizedImage: newImage, data:imageData)
                })
            })
        }
    }
    

提交回复
热议问题