我一直在使用这种方法将 UIView
转换为 UIImage
。即 View 的屏幕快照 -
@interface UIView(Extended)
- (UIImage *) imageByRenderingView;
@end
@implementation UIView(Extended)
- (UIImage *)imageByRenderingView
{
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultingImage;
}
@end
为了使用它,我这样做 -
UIImage *currImage = [self.view imageByRenderingView];
这给出了整个 UIView
的图像表示。现在我想要 2 张图片,一张是 UIView
的上半部分,另一张是下半部分。我该怎么做?
最佳答案
您可以使用以下代码将 UIImage
分成两部分:
CGImageRef topOfImageCG =
CGImageCreateWithImageInRect(currImage.CGImage,
CGRectMake(0,
0,
currImage.size.width,
currImage.size.height / 2.0));
UIImage *topOfImage = [UIImage imageWithCGImage:topOfImageCG];
CGImageRelease(topOfImageCG);
关于objective-c - 将 UIView 捕获为 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7177637/