最近做一個視頻通話中截屏的功能
視頻sdk沒有現成的方法,自己踩了好多坑,終于找到了答案:
-(UIImage *)snapshotScreenInView:(UIView *)contentView {
CGSize size = contentView.bounds.size;
UIGraphicsBeginImageContextWithOptions(size, NO, [UIScreen mainScreen].scale);
CGRect rect = contentView.frame;
//? 自iOS7開始,UIView類提供了一個方法-drawViewHierarchyInRect:afterScreenUpdates: 它允許你截取一個UIView或者其子類中的內容,并且以位圖的形式(bitmap)保存到UIImage中
[contentView drawViewHierarchyInRect:rect afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
同組的安卓同事還沒有解決,所以大家如果知道安卓的怎么解決不妨告訴我。