2016-11-09 45 views
0

我有一個UIImageView,它上面有一層,我想用這些圖層保存UIImageView.image。將UIImageView圖層導出到UIImage

實施例:

imageView.layer.mask = someLayer 

let image = imageView.image 

let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil) 
     present(activity, animated: true, completion: nil) 

但這僅保存圖像不脫離ImageView的各層。我需要做什麼?

拍攝imageView的截圖可能不錯,但是我在這樣做時會失去圖像質量,我想保留原始分辨率。

回答

-1

這會給你的原始分辨率:

- (UIImage *)imageFromImageView:(UIImageView *)view{ 
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, [UIScreen mainScreen].scale); 
    [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES]; 
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    return image; 
} 
+0

我已經試過這一點。分辨率是可以的,但如果放大並將其與原始分辨率進行比較,則分辨率會更低。有沒有辦法轉移imageView蒙版? – R3ptor