Estoy tratando de recortar una región de UIView
, en un UIImage
para su reutilización posterior.UIImage de una región de UIView
he trabajado a cabo este código de algunos fragmentos:
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);
'vista' es el UIView
la que estoy recorte y _finalImage
es el UIImage
que quiero.
El código funciona sin problemas, sin embargo es un poco lento. Creo que se puede obtener algo de rendimiento tomando solo la parte de la pantalla directamente en el Paso A.
Estoy buscando algo como renderInContext: withRect:
o jeje.
Aún no han encontrado nada :(, por favor, ayúdame si usted sabe de alguna alternativa
podría volver a formatear? difícil de leer – Rudiger