在iPad上如何进行局部截图

5

2
从屏幕创建一个UIImage,并将其裁剪到该视图框架的大小。 - runmad
请查看这个讨论串:http://www.iphonedevsdk.com/forum/iphone-sdk-development/74659-partial-screenshot.html 另外,请随意选择一个用户名。欢迎来到StackOverflow! - Moshe
@j0k - 没有选择用户名的新账户将被分配一个数字。 - Moshe
@j0k 请查看此元帖 - Moshe
@Moshe 谢谢!我之前试图寻找它时找不到。 - csano
@j0k - 不用谢。(让我们看看当我达到15个字符的最低配额时,是否会触发“移至聊天”功能。) - Moshe
1个回答

4

看起来您想要一个Web视图的截图。如果您只想获取特定视图及其子视图的图像,可以使用以下代码:

- (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;
}

只需将Web视图传递给该函数,它就应该可以正常工作。

编辑:

假设那只是一个示例图像,你想要一个未包含在自己的视图中的区域的截图,请使用Canada Dev的解决方案。将图像剪裁到所需区域。


这似乎无法捕获不在该视图中的主视图的子视图。 - MikeN
如果有两个不同的视图重叠在一起,我想获取它们交集的屏幕截图(实际上是最终呈现给最终用户的屏幕区域)。这段代码只会从其中一个子视图中获取图像。我希望它能像OSX的“橡皮筋”屏幕截图一样运作。 - MikeN
啊,那你想要一个整体视图的截图,然后像加拿大开发者所说的那样进行裁剪。 - Daniel G. Wilson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接