2017-06-19 35 views
0

因此,我使用UIImageView來爲用戶編寫簽名。 UIImageView在附加簽名的同時佔用整個屏幕,方便用戶使用。從UIImageView提取書寫區域

我可以通過UIImageView.image獲取並保存圖像,但是當我檢查保存的圖像時,它有很多空白區域!簽名很小,不佔用設備的整個屏幕,但保存的圖像佔據了設備的整個屏幕,包括沒有書寫/簽名的區域。

是否有辦法至少裁剪/修剪圖像到有簽名的區域?

更新: 如果你看下面的示例,你會注意到簽名周圍的區域。我不能在顯示時自己調整圖像大小,因爲它會使簽名更小,更難以閱讀。 enter image description here

回答

0

最後,我找到了一種方法。我所做的是我注意到兩個CGPoint的leftPoint和rightPoint在touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?),下面的方法是使用更新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) 

如果您有其他的想法,請讓我知道裁剪圖像!現在我會用這個。謝謝