UIImage из области UIView

Я ' 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 () хе-хе.

Еще ничего не нашел :(, пожалуйста, помогите мне, если вы знаете какую-нибудь альтернативу.

8
задан Kampai 11 August 2014 в 18:09
поделиться