2014-01-29 4 views
0

Пользователь выбирает изображение с подборщиком и следующий код манипулирует изображениеКак получить UIImage, чтобы отправить новое изображение, а не исходное изображение на сервер

UIImage *image = info[UIImagePickerControllerOriginalImage]; 
    _imageView.image = image; 
    _imageView.contentMode = UIViewContentModeScaleAspectFill; 
    _imageView.layer.cornerRadius = 10; 
    _imageView.clipsToBounds = YES; 
    _imageView.layer.shouldRasterize = YES; 
    _imageView.layer.rasterizationScale = [[UIScreen mainScreen] scale]; 

Когда я посылаю ImageView к серверу он отправляет оригинал изображение, а не новое изображение. Я предполагаю, что это потому, что UIImageView фактически не изменяет изображение, а просто визуализирует изменения на исходном изображении.

Может ли кто-нибудь привести меня в правильном направлении относительно того, что мне нужно, чтобы учиться, чтобы делать постоянные изменения изображения или создавать новое изображение или есть простой способ сделать эти изменения, которые я сделал постоянными?

Благодаря

+1

Какие изменения Вы имеете в виду? Какое «новое изображение» и «исходное изображение» вы имеете в виду? – rmaddy

+3

Исходное изображение никогда не изменяется в предоставленном фрагменте кода. Единственное, что изменилось, это контейнер, содержащий изображение. Это как положить изображение в рамку. Как только вы вынимаете его из фрейма (и загружаете его на сервер), это все тот же рисунок. – nhgrif

+0

nhgrif точно, что я думал, что происходит. Что мне нужно узнать, чтобы внести изменения в реальный образ? Я вижу много информации о внесении изменений в UIImageView, но не об изменении фактического изображения – Landon

ответ

0

Я полагаю, вы говорите о том, чтобы новое изображение, как он появится на экране (с угловым радиусом набора и т.д. и т.п.), так что вы можете проверить некоторые так:

UIGraphicsBeginImageContext(self.imageView.image.size); 

[self.imageView drawViewHierarchyInRect:self.imageView.frame afterScreenUpdates:YES]; 
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); 

UIGraphicsEndImageContext();