#iphone #resize #photo #crop #autoresize
#iPhone #изменение размера #фотография #обрезка #авторазмеризация
Вопрос:
Создание приложения, в котором мы хотим отправить фотографию на сервер вместе с некоторыми данными формы. Изображение огромное, загрузка занимает целую вечность, и нам действительно не нужна информация о пикселях на веб-сайте. Есть ли какой-либо способ изменить размер изображения (с камеры или из вашей галереи), чтобы мы отправляли в киберпространство только изображение гораздо меньшего размера? Это легко сделать в Android, но мы изо всех сил пытаемся найти простое решение для iPhone.
Ответ №1:
См. раздел Изменение размера пользовательского изображения правильным способом для изменения размера кода и обсуждения. Чтобы выбрать изображение, вы можете сделать
// select image
UIImagePickerController *picker = [UIImagePickerController new];
picker.delegate = self;
picker.allowsEditing = YES;
[yourViewController presentModalViewController:picker];
// delegate method
- (void) imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
}
Комментарии:
1. 1 для «Правильного изменения размера пользовательского изображения». Это единственное настоящее руководство по изменению размера изображения, дополненное (отличным) кодом, который можно взять и использовать.
Ответ №2:
Большинство вопросов, которые вы задаете, рассматриваются в сессии WWDC 2010 N104. Есть просмотр прокрутки, но методы, которые описаны там, можно использовать в вашей задаче.
Ответ №3:
В UIImage:
(UIImage *)imageWithCGImage:(CGImageRef)imageRef scale:(CGFloat)scale orientation:(UIImageOrientation)orientation
Просто набрасываю идею…
UIImage smallerImage = [[ UIImage imageWithCGImage: biggerImage.CGImage scale: 0.1 orientation: orient