2013-01-17 38 views
0

我在UIImage上使用了一個簡單的裁剪,但是在剪裁後,當我們檢查最終圖像時,它會在iPhone中旋轉。以下是我用於裁剪的代碼。裁剪在iPhone中的圖像變化旋轉

CGRect visibleRect; 
float scale = 1.0f/scrollView.zoomScale; 
visibleRect.origin.x = scrollView.contentOffset.x * scale; 
visibleRect.origin.y = scrollView.contentOffset.y * scale; 
visibleRect.size.width = scrollView.bounds.size.width * scale; 
visibleRect.size.height = scrollView.bounds.size.height * scale; 
finalImage = imageFromView(displayImageView.image, &visibleRect); 

UIImage* imageFromView(UIImage* srcImage, CGRect* rect) { 
    CGImageRef cr = CGImageCreateWithImageInRect(srcImage.CGImage, *rect); 
    UIImage* cropped = [UIImage imageWithCGImage:cr]; 

    CGImageRelease(cr); 
    return cropped; 
} 

請讓我知道如果我做任何一種錯誤的事情。

回答

0

你需要crpping它

-(UIImage*)rotateImage:(UIImage*)image 

{

UIGraphicsBeginImageContext(image.size); 
CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextDrawImage(context, CGRectMake(0 , 0, image.size.width , image.size.height), [image CGImage]); 


CGContextRotateCTM (context, radians(90)); 

CGImageRef cgImage = nil; 

cgImage = CGBitmapContextCreateImage(context); 

UIImage *img = [UIImage imageWithCGImage:cgImage]; 


return img; 

} 
+0

嗨薩欽所以從裁剪功能檢索finalimage後,我需要調用以上後旋轉功能後,調用此方法。 – Kashif

+0

如果一個圖像是橫向模式而第二個是縱向模式,該怎麼辦?如何知道何時旋轉以及何時不旋轉? –