xcode:尝试捕获部分屏幕

时间:2012-05-17 01:43:59

标签: graphics xcode4 screenshot

我一定做错了,但我可以就以下方面提出一些建议:

我正试图在iPad和iPad视网膜上捕获局部屏幕。

我可以将肖像视图设置为好,但是我无法将横向视图的右侧置于界限内。

这是我正在使用的代码(在UIGetScreenImage()被制成违禁之前我没有遇到这个问题)..

CGRect screenRect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(screenRect.size);
CGContextRef ctx = UIGraphicsGetCurrentContext(); 
[[UIColor blackColor] set]; 
CGContextFillRect(ctx, screenRect);
[self.view.layer renderInContext:ctx];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();


CGImageRef imageRef = CGImageCreateWithImageInRect([img CGImage], CGRectMake (0, 100, self.view.bounds.size.width, (self.view.bounds.size.height - 200)));


UIImage *img2Save = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
// Request to save the image to camera roll
UIImageWriteToSavedPhotosAlbum(img2Save, self, nil, nil);

这是我为肖像和风景拍摄的两张照片:

Portrait

Landscape

1 个答案:

答案 0 :(得分:1)

如果您使用窗口作为框架,它将始终以纵向模式显示。您可以将screenRect设置为全屏视图,该视图应在纵向和横向模式下工作。