2016-09-23 7 views
0

私はユーザーのプロフィール画像を含むアプリを持っています。ユーザーは、彼らがしたい写真を選択した後、それは自動的に次の基本的なUIImage拡張子使用してトリミングされていますクロップド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

写真は 'cropped'画像をインスタンス化するときに考慮すべき彼らの' imageOrientation'プロパティを持っています。ストレッチは 'UIImageView'の' contentMode'プロパティで修正する必要があります。 –

答えて

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