0
두 번 탭핑 된 gesturerecognizer를 구현했습니다. 사용자가 두 번 탭하면 해당 포인트에 주석을 추가합니다. 더 나아가서 도청 지점의 영역을 잘라내고 싶습니다. 그러나 매번 화면 크기가 달라집니다. 이 도움이ScreenShot Image - 탭 포인트의 주변 영역
- (void)handleTapGesture:(UITapGestureRecognizer *)sender {
if (sender.state == UIGestureRecognizerStateRecognized) {
// handling code
point = [sender locationInView:sender.view];
iViewController.noteImageView.image=[self captureView:self.view];
[self.view addSubview:iViewController.view];
}
}
-(UIImage*)captureView:(UIView*)view
{
CGRect screenRect=CGRectMake(point.x-20,point.y-40,point.x+10,point.y+20);
//CGRect screenRect=[[UIScreen mainScreen]bounds];
UIGraphicsBeginImageContext(screenRect.size);
CGContextRef ctx= UIGraphicsGetCurrentContext();
[[UIColor blackColor]set];
CGContextFillRect(ctx, screenRect);
[view.layer renderInContext:ctx];
UIImage *scImage=UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return scImage;
}
감사 비탈리, 그것은 매우 잘 작동합니다. 내가 추가 한 유일한 수정은 CGRect cropRect = CGRectMake (point.x-20, point.y-40,80,80); – casillas