2012-05-25 142 views
6

我正在iphone上工作,我把UIView的子类和绘制矩形方法做了一些设计。我想以.png格式转换这个视图。将uiview转换为.png图像

在此先感谢。

+0

ü要获取的UIView的屏幕截图? –

+0

你想要图像转换成.png格式或屏幕捕获 –

回答

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

感谢它显示图像在控制台中,但是当我在imageview上显示它不显示帮助我 – Chandni

+0

检查您的IBOutlet imageview是否设置 – 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();