ios - 如何截取uiview特定区域的屏幕截图

标签 ios objective-c uiview

    UIGraphicsBeginImageContext(view.frame.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
    return viewImage;

这是我正在使用的代码,我需要截取uiview特定区域的屏幕截图

最佳答案

这是用于截取特定区域的屏幕截图并保存在NSDocumentDirectory中的代码。

UIGraphicsBeginImageContext(self.view.bounds.size);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
CGImageRef img = [viewImage CGImage];
img = CGImageCreateWithImageInRect(img, CGRectMake(0,60, 320, 330));  // This is the specific frame size whatever you want to take scrrenshot
viewImage = [UIImage imageWithCGImage:img];

//writeToFile----------------

NSArray *path=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *imagePath=[path objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager] ;

BOOL isDir ;
imagePath =[imagePath stringByAppendingPathComponent:@"PicPanleImage"];
if(YES == [fileManager fileExistsAtPath:imagePath isDirectory:&isDir])
{

}
else
{
    [fileManager createDirectoryAtPath:imagePath withIntermediateDirectories:NO attributes:nil error:nil];
}

imagePath =[imagePath stringByAppendingPathComponent:@"Image.jpeg"];
NSData *tempImageData=[NSData dataWithData:UIImagePNGRepresentation(viewImage)];
[tempImageData writeToFile:imagePath atomically:YES];

关于ios - 如何截取uiview特定区域的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23381206/

相关文章:

objective-c - 在本地和远程之间切换 iOS 应用程序中使用的 url

objective-c - iOS 颜色数组检索错误

iphone - iOS6 CALayer 释放/卸载 ScrollView 中滚动不可见的 View

ios - 创建类似于邮件应用程序菜单的 iPhone 弹出菜单

ios - 当前设置 UIView 的角半径的 "correct"方法是什么?

ios - React-Native 构建成功 - native 模块不能为空(iOS)

ios - 可以在设备上调试应用程序但无法分析 : the app must be signed with a development identity

ios - 如何在没有 NavigationController 的情况下使用 ASTableNode 在 ASViewController 上添加像 Navigationbar 这样的 headerView?

javascript - Phonegap 3.3.0 iOS 文件系统插件未触发完成、进度或错误

ios - 如何在选择的 UITableViewCell 行中传递值