문제

In my app, I am adding different images from the library into an array and then they are converted into the slide show. I am able to do this, but the only problem I am facing is the orientation of different images. All I want is, that when a user selects a picture from library, before inserting into the array, its orientation should be checked, and if it is other than landscape right, it should be rotated to landscape right. How can I do that? Moreover, the rotated images should be aspect fill i.e. there should be no black margins at the sides of the rotated images.

P.S. I want to rotate UIImage, not UIImageView as there are some ways available to rotate UIImageView but they don't meet my requirements.

도움이 되었습니까?

해결책

You can simply rotate image like this:

UIImage *newImage = [[UIImage alloc] initWithCGImage: myImage.CGImage
                                                 scale: 1.0
                                           orientation: UIImageOrientationRight];

This should give you a pointer, than you can decide whether to rotate the image or not by comparing its size for e-g:

if (myImage.size.width < myImage.size.height) {
   // its portrait, do the rotation
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top