2016-09-23 6 views
0

У меня есть приложение, которое включает в себя изображение профиля для пользователя. После того как пользователь выбирает фотографию, которую они хотят, он автоматически обрезается с помощью следующей основной расширение UIImage:Cropped UIImage Ориентация/растяжка

func crop() -> UIImage { 

    let imageRef:CGImageRef = CGImageCreateWithImageInRect(self.CGImage, CGRectMake(0, self.size.height/2 - self.size.width/2, self.size.width, self.size.width))! 
    let cropped:UIImage = UIImage(CGImage:imageRef) 

    return cropped 

} 

Он работает правильно для большинства фотографий, но по какой-то причине иногда он меняет ориентацию фотографии, а иногда это растягивает фотографию. Ниже фото каждого так что вы можете увидеть, что я имею в виду:

Wrong Orientation

Stretching/Compressing

Я прочитал много сообщений о неправильной ориентации и до сих пор не понимаю, что случилось с моим кодом выше , Кроме того, я ничего не видел о растяжении/сжатии фотографий.

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

Заранее благодарен!

+0

Фотографии вы берете с телефоном есть их 'imageOrientation' свойство, которое следует учитывать при инстанцировании' cropped' изображения. Удлинение должно быть возможно исправить с помощью свойства 'contentMode'' UIImageView'. –

ответ

0

использовать этот

image.layer.borderWidth = 1.0 
image.layer.masksToBounds = false 
image.layer.borderColor = UIColor.whiteColor().CGColor 
image.layer.cornerRadius = image.frame.size.width/2 
image.clipsToBounds = true 
+0

Как я должен использовать это в своем расширении? –

+0

возьмите свое изображение, которое вы хотите его обрезать на изображении (uiimage), затем используйте этот код – Soul

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

  • Нет связанных вопросов^_^