2012-05-25 23 views
6

Estoy trabajando en iphone y tomo la subclase de UIView y en el método de dibujar rect estoy haciendo un poco de diseño. Quiero convertir esta vista en formato .png.convertir uiview a .png imagen

Gracias de antemano.

+0

u desea obtener captura de pantalla de UIView que ?? –

+0

u desea que la imagen se convierta en formato .png o captura de pantalla –

Respuesta

21
UIGraphicsBeginImageContext(myView.frame.size); 
    [myView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    NSData *data=UIImagePNGRepresentation(viewImage); 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSString *strPath = [documentsDirectory stringByAppendingPathComponent:@"myimage.png"]; 
    [data writeToFile:strPath atomically:YES]; 
+0

gracias muestra la imagen en la consola, pero cuando lo muestro en la vista de imagen no se muestra ayúdenme – Chandni

+0

Compruebe que su IBOutlet para la vista de imagen esté o no configurado – Dhawal

0
UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow]; 
    if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) 
     UIGraphicsBeginImageContextWithOptions(YourView.frame.size, NO, [UIScreen mainScreen].scale); 
    else 
     UIGraphicsBeginImageContext(keyWindow.bounds.size); 

    CGContextRef context = UIGraphicsGetCurrentContext(); 
    [keyWindow.layer renderInContext:context]; 
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext(); 
    UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil); 
    UIGraphicsEndImageContext();