2011-05-17 73 views

回答

2

終於成功地旋轉裁剪縮放的圖像。

1)需要裁剪整個縮放或旋轉的圖像。

2)從裁剪的圖像中裁剪矩形。您將獲得最終縮放或旋轉的裁剪圖像。

張貼示例代碼,它可能會對其他人有幫助。

UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0); 
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 


CGRect rect = CGRectMake(100,100 ,200, 200);//Rect we need from scaled or rotated image. 
CGImageRef cropped = CGImageCreateWithImageInRect(viewImage.CGImage, rect); 
UIImage *img = [UIImage imageWithCGImage:cropped]; 
CGImageRelease(cropped); 

謝謝。

+0

沒有。它不起作用。 – Mercurial 2013-09-12 08:37:42

+0

它會很好地工作..請分享您的請求。 – Madhu 2013-09-12 14:35:33

+0

您的圖像是旋轉還是視圖?在我的情況下,imageview被旋轉和縮放,而不是圖像本身。 – Mercurial 2013-09-24 12:11:16

0

試試這個(如果你需要裁剪的角落):

UIImageView *imageSubview = [[UIImageView alloc] initWithFrame:CGRectMake(50.0f, 5.0f,80.0f, 60.0f)]; 

[imageSubview setImage:actualImage]; 
[imageSubview setContentMode:UIViewContentModeScaleToFill]; 
[imageSubview.layer setCornerRadius:10.0]; 
[imageSubview.layer setMasksToBounds:YES]; 
[cell addSubview:imageSubview]; 

只是增加半徑,你將使它圈,或走的這條路,你會得到你的實際解決方案上:)

+0

感謝您的更新。我需要圖像的中間部分,或圖像視圖中的任何位置,如圖像選擇器圖像編輯屬性! – Madhu 2011-05-17 11:44:07

0
UIImage *myImage = [UIImage imageNamed:@"photo.png"]; 

CGRect cropRect = CGRectMake(0.0, 0.0, 320.0, 44.0)); 
CGImageRef croppedImage = CGImageCreateWithImageInRect([myImage CGImage], cropRect); 

UIImageView *myImageView = [[UIImageView alloc] initWithFrame:cropRect]; 
[myImageView setImage:[UIImage imageWithCGImage:croppedImage]]; 

CGImageRelease(croppedImage); 

其用於裁剪特定的高度和寬度

+0

感謝您的更新。 但已經與邏輯工作,工作與固定圖像。一旦縮放或旋轉的圖像,它不工作,總是返回相同的圖像。 CGRect rect = CGRectMake([tempView center] .x-125,[tempView center] .y-200,200,200); CGImageRef裁剪= CGImageCreateWithImageInRect(imageView.image.CGImage,矩形); UIImage * img = [UIImage imageWithCGImage:cropped]; // [UIImage imageWithCGImage:裁剪比例:imageView.image.scale orientation:imageView.image.imageOrientation]; CGImageRelease(裁剪); – Madhu 2011-05-17 11:41:28