Захват UIView как UIImage
Я использовал этот метод для преобразования UIView
в UIImage
. то есть моментальный снимок экрана вида -
@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
, а другой - нижняя половина. Как это сделать?
Ответы
Ответ 1
Вы можете разделить свой UIImage
на два с помощью этого кода:
CGImageRef topOfImageCG =
CGImageCreateWithImageInRect(currImage.CGImage,
CGRectMake(0,
0,
currImage.size.width,
currImage.size.height / 2.0));
UIImage *topOfImage = [UIImage imageWithCGImage:topOfImageCG];
CGImageRelease(topOfImageCG);