2012-05-25 14 views
6

Ich arbeite an iphone und ich nehme die Unterklasse von UIView und in draw rect Methode ich mache etwas Design. Ich möchte diese Ansicht im .png-Format konvertieren.konvertieren uiview zu .png image

Vielen Dank im Voraus.

+0

u wollen Screenshot von diesem UIView bekommen ?? –

+0

u wollen Bild in PNG-Format oder Bildschirm erfassen –

Antwort

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

Dank es zeigt Bild in der Konsole, aber wenn ich es auf imageview zeigen, ist es nicht zeigen, helfe mir – Chandni

+0

Überprüfen Sie Ihr IBOutlet für Bildansicht eingestellt ist oder nicht – 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(); 
Verwandte Themen