Я ' m пытается закрепить область UIView
в UIImage
для последующего повторного использования.
Я разработал этот код из некоторых фрагментов:
CGRect _frameIWant = CGRectMake(100, 100, 100, 100);
UIGraphicsBeginImageContext(view.frame.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
//STEP A: GET AN IMAGE FOR THE FULL FRAME
UIImage *_fullFrame = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//STEP B: CLIP THE IMAGE
CGImageRef _regionImage = CGImageCreateWithImageInRect([_fullFrame CGImage], _frameIWant);
UIImage *_finalImage = [UIImage imageWithCGImage:_regionImage];
CGImageRelease(_regionImage);
'view' - это UIView
, который я отсекаю, и _finalImage
- это UIImage
, который мне нужен.
Код работает без проблем, но довольно медленный. Я считаю, что некоторой производительности можно добиться, если взять только часть экрана непосредственно на шаге A.
Я ищу что-то вроде renderInContext: withRect:
или UIGraphicsGetImageFromCurrentImageContextWithRect ()
хе-хе.
Еще ничего не нашел :(, пожалуйста, помогите мне, если вы знаете какую-нибудь альтернативу.