2012-07-03 4 views
0

목표 : 확대/축소 후 이미지를 자릅니다. (10,10,320,312)와 같이 사전 정의 된 좌표에서 확대/축소 후 이미지를자를 수 있습니다. 내 UIImageView이 크기가?(10,10,320,312)와 같은 좌표로 이미지를자를 수 있습니까?

UIScrollViewUIImageView이 있고 이미지를 확대 할 수 있습니다. cropButton을 누를 때 확대 후 원하는 UIImage에 표시되는 이미지가 잘립니다. 이미지의 사이즈는 UIImageView 사이즈가되고 싶습니다.

감사합니다!

줌과 수확 후
before zooming를 확대하기 전에 after zoom and crop

내 코드는 여기에있다.

-(void)cropButtonClicked 
{ 
    //Calculate the required area from the scrollview 
    CGRect visibleRect; 
    float scale = 1.0f/scroll.zoomScale; 
    visibleRect.origin.x = scroll.contentOffset.x * scale; 
    visibleRect.origin.y = scroll.contentOffset.y * scale; 
    visibleRect.size.width = scroll.bounds.size.width * scale; 
    visibleRect.size.height = scroll.bounds.size.height * scale; 

    UIImage *image = [self imageByCropping:imageView.image toRect:visibleRect]; 

    imageView.image=image; 


} 


- (UIImage*)imageByCropping:(UIImage *)myImage toRect:(CGRect)cropToArea{ 
CGImageRef cropImageRef = CGImageCreateWithImageInRect(myImage.CGImage, cropToArea); 
UIImage* cropped = [UIImage imageWithCGImage:cropImageRef]; 

CGImageRelease(cropImageRef); 
return cropped; 
} 
I use this logic.. Am I RIGHT? (May be i have to check my ScrollView programming) 
+2

목표 달성을 위해 무엇을 했습니까? 당신이 그 일을했는지 ​​몇 가지 코드를 게시 하시겠습니까? –

+1

멋진 그림 ... :) – Peres

+0

코드를 추가했습니다. – QueueOverFlow

답변

1

이 코드는 전체적으로 사용할 수 있습니다 .. !!

CGSize itemSize = CGSizeMake(newWidth, newHeight);<br> 
UIGraphicsBeginImageContextWithOptions(itemSize, NO, 0);<br> 
CGRect imageRect = CGRectMake(0, 0, newWidth, newHeight);<br> 
[image drawInRect:imageRect];<br> 
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();<br> 
UIGraphicsEndImageContext(); 
+0

답장을 보내 주셔서 감사합니다. – QueueOverFlow

관련 문제