2017-06-19 11 views
0

私はUIImageViewを使用して、ユーザーの署名を書きます。 UIImageViewは、ユーザの容易さのために画面全体を占有しながら署名します。UIImageViewから書かれた領域を抽出します

UIImageView.imageで画像を取得して保存できますが、保存した画像を確認すると、多くの画像がの空白!署名は小さく、デバイスの画面全体を占めないが、保存された画像は、書き込み/署名のない領域を含むデバイスの画面全体を占有する。

署名がある領域に画像をトリミング/トリミングする方法はありますか?

更新: 以下のサンプルを見ると、署名の周りの領域がわかります。署名を小さくして読みにくくするために、画像をサイズ変更することはできません。 enter image description here

答えて

0

最後に、私は方法を見つけました。私がやったことは、私がtouchesMoved(_ touches: Set<UITouch>, with event: UIEvent?)で2 CGPoint leftPointとrightPointのノートを取るで、次のような方法は、最終的には、署名を保存しようとするとleftPointとrightPoint

func updatePoints(currentPoint: CGPoint){ 
    if leftPoint.x > currentPoint.x { 
     leftPoint.x = currentPoint.x 
    } 
    if leftPoint.y > currentPoint.y { 
     leftPoint.y = currentPoint.y 
    } 

    if rightPoint.x < currentPoint.x { 
     rightPoint.x = currentPoint.x 
    } 
    if rightPoint.y < currentPoint.y { 
     rightPoint.y = currentPoint.y 
    } 
} 

を更新するために使用されます。私はその後、CGRect()

let width = rightPoint.x - leftPoint.x 
let height = rightPoint.y - leftPoint.y 
let rect = CGRect(x: leftPoint.x, y: leftPoint.y, width: width, height: height) 
let croppedImage = imageView.image!.cropRect(rect) 

あなたが他のアイデアを持っている場合は私に知らせてください使用して画像をトリミング幅と言った点についてイメージベースの高さを計算します!今のところこれを使用します。ありがとうございました

関連する問題