2011-08-03 8 views
5

스크린 샷을 저장하려고하는데 전체 화면 만 할 수 있습니다. 부분 스크린 샷을 찍을 방법이 있습니까?iPad에서 부분 스크린 샷 찍기

다음은 샘플입니다. 빨간색으로 강조 표시된 섹션의 스크린 샷을 찍고 싶습니다. 도와 주셔서 감사합니다. 당신이 그 웹보기의 스크린 샷을 원하는처럼

http://img197.imageshack.us/img197/6499/sampleimagez.jpg

+2

화면에서 UIImage를 만들고보기 프레임의 크기로 잘라냅니다. – runmad

+0

이 스레드를 체크 아웃 : http://www.iphonedevsdk.com/forum/iphone-sdk-development/74659-partial-screenshot.html 또한, 사용자 이름을 선택하십시오. StackOverflow에 오신 것을 환영합니다! – Moshe

+0

@ j0k - 사용자 이름을 선택하지 않은 새 계정에는 번호가 지정됩니다. – Moshe

답변

4

는 것 같습니다.

- (UIImage*)captureView:(UIView*)view 
{ 
    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) 
     UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, NO, [UIScreen mainScreen].scale); 
    else 
     UIGraphicsBeginImageContext(self.view.bounds.size); 

    CGContextRef context = UIGraphicsGetCurrentContext(); 

    [view.layer renderInContext:context]; 

    UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return img; 
} 

그냥 그 함수에 웹보기를 통과하고 그것을 작동합니다 : 특정 뷰의 이미지 만 해당 뷰 (+ 파단)를 얻고 싶은 경우에, 다음과 같은 코드를 사용할 수 있습니다.

편집 : 그건 그냥 예를 들어 이미지이고 당신이 자신의보기에 포함되지 않은 지역, 캐나다 데브의 솔루션으로 이동의 스크린 샷을 원하는 가정

. 이미지를 원하는 영역으로 자릅니다.

+0

이보기에없는 기본보기의 하위보기는 캡처하지 않는 것 같습니다. – MikeN

+0

무슨 소리 야? –

+0

서로 다른 두 개의 뷰가있는 경우 해당 뷰의 교차점에 대한 화면 그라데이션을 얻고 싶습니다 (사실 최종 사용자가 최종적으로 볼 수있는 화면 영역 임). 이 코드는 하위 뷰 중 하나의 이미지 만 가져옵니다. 나는 그것이 OSX의 "rubberband"스크린 샷처럼 행동하기를 원한다. – MikeN

관련 문제