2012-05-25 38 views
6

Tôi đang làm việc trên iphone và tôi lấy phân lớp của UIView và trong phương pháp vẽ trực tiếp Tôi đang thực hiện một số thiết kế. Tôi muốn chuyển đổi chế độ xem này ở định dạng .png.chuyển đổi uiview thành hình ảnh .png

Xin cảm ơn trước.

+0

u muốn nhận được ảnh chụp màn hình của UIView điều đó không ?? –

+0

u muốn hình ảnh chuyển đổi thành định dạng .png hoặc ảnh chụp màn hình –

Trả lời

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

nhờ nó hiển thị hình ảnh trong bảng điều khiển nhưng khi tôi hiển thị hình ảnh trên hình ảnh, nó không hiển thị giúp tôi – Chandni

+0

Kiểm tra IBOutlet của bạn để xem hình ảnh được đặt hay không – 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(); 
Các vấn đề liên quan