2016-11-09 5 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. Что мне нужно сделать?

Снимок экрана изображения может быть приятным, но при этом я теряю качество изображения, и я хочу сохранить исходное разрешение.

ответ

-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

Смежные вопросы