How to rotate an image 90 degrees on iOS?

后端 未结 14 1874
野的像风
野的像风 2020-11-29 00:55

What I want to do is take a snapshot from my camera , send it to a server and then the server sends me back the image on a viewController. If the image is in portrait mode t

14条回答
  •  眼角桃花
    2020-11-29 01:53

     func imageRotatedByDegrees(oldImage: UIImage, deg degrees: CGFloat) -> UIImage {
    
        let size = oldImage.size
        UIGraphicsBeginImageContext(size)
    
        let bitmap: CGContext = UIGraphicsGetCurrentContext()!
        //Move the origin to the middle of the image so we will rotate and scale around the center.
        bitmap.translateBy(x: size.width / 2, y: size.height / 2)
        //Rotate the image context
        bitmap.rotate(by: (degrees * CGFloat(Double.pi / 180)))
        //Now, draw the rotated/scaled image into the context
        bitmap.scaleBy(x: 1.0, y: -1.0)
    
        let origin = CGPoint(x: -size.width / 2, y: -size.width / 2)
    
        bitmap.draw(oldImage.cgImage!, in: CGRect(origin: origin, size: size))
    
        let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()
        return newImage
    
    }
    

    Use of function

    imageRotatedByDegrees(oldImage: yourImage, deg: degree) 
    

提交回复
热议问题