I have an image view to show the result of the camera, but the problem is when I take the photo, the result is the image will zoomed.
Here is my code:
var userData2 = userData()
var base64String1: String!
var decodedData1: Data!
var decodedImage1: UIImage!
@IBOutlet weak var imageResult: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
base64String1 = userData2.fotoIDString!
decodedData1 = Data(base64Encoded: base64String1, options: [])!
decodedImage1 = UIImage(data: decodedData1)!
// decodedImage1 = Toucan(image: decodedImage1).resize(CGSize(width: 100, height: 150)).maskWithEllipse().image
imageResult.image = decodedImage1
imageResult.transform = CGAffineTransform(rotationAngle: CGFloat.pi/2)
imageResult.contentMode = .scaleAspectFill
}
you need to change the contentMode
of your imageView from .scaleAspectFill
change it to .scaleAspectFit
try this code:
var userData2 = userData()
var base64String1: String!
var decodedData1: Data!
var decodedImage1: UIImage!
@IBOutlet weak var imageResult: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
base64String1 = userData2.fotoIDString!
decodedData1 = Data(base64Encoded: base64String1, options: [])!
decodedImage1 = UIImage(data: decodedData1)!
// decodedImage1 = Toucan(image: decodedImage1).resize(CGSize(width: 100, height: 150)).maskWithEllipse().image
imageResult.image = decodedImage1
imageResult.transform = CGAffineTransform(rotationAngle: CGFloat.pi/2)
imageResult.contentMode = .scaleAspectFit//here is the difference
imageResult.clipsToBounds = true//also add this line
}
imageResult.contentMode = .scaleAspectFill change it to .scaleAspectFit