Я создаю приложение, и мне нужно заставить пользователя загружать квадратные картинки (как это делает Instagram), однако я бы хотел избежать программирования интерфейса с нуля, поскольку мы «короткое время».Swift - force square photo from library and camera
Важно отметить, что ПОЛЬЗОВАТЕЛЬ должен ВЫБРАТЬ, какую часть изображения он хочет показать, поэтому обрезка изображения программно без запроса пользователя не может быть и речи.
Мне удалось заставить это работать через камеру, однако через библиотеку я не могу заставить пользователя использовать квадратное изображение. Вот код, у меня есть:
func presentGallery(){
// from library
picker.allowsEditing = true
picker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
presentViewController(picker, animated: true, completion: nil)
}
Тогда на моей imagepickercontroller:
var chosenImage = info[UIImagePickerControllerEditedImage] as! UIImage
Однако я не получаю желаемого результата. Было бы хорошо, если бы «минимальный зум» должен был показывать 100% высоты изображения, или если бы я мог добавить белый/черный фон в верхнюю и нижнюю части изображения.
Вместо того, чтобы что-то вроде этого:
Мое приложение должно работать начиная с iOS7.
Вы можете использовать первое расширение для возврата квадратного изображения. Если это не решит вашу проблему, сообщите мне, чтобы я мог повторно открыть ваш вопрос. –
@LeoDabus благодарит за вашу помощь, однако, используя ваш код, изображение обрезается. важно показать всю информацию, которую хочет пользователь. Вот почему мне нужна одна из этих двух вещей: 1) Добавьте «пиксели» в верхнюю/нижнюю или левую/правую сторону изображения, чтобы сделать его квадратным 2) Принудительно выберите квадрат изображения из (второе изображение, которое я загрузил) – Waclock
, чтобы сделать изображение с квадрата камеры, вам всегда нужно обрезать его, так или иначе, я снова открыл вопрос. –