Swift3 从UIImageView中提取写入区域
所以我有一个UIImageView,我用它来让用户写他们的签名。UIImageView占据整个屏幕,方便用户添加签名 我可以通过Swift3 从UIImageView中提取写入区域,swift3,uiimageview,Swift3,Uiimageview,所以我有一个UIImageView,我用它来让用户写他们的签名。UIImageView占据整个屏幕,方便用户添加签名 我可以通过UIImageView.image获取并保存图像,但是当我检查保存的图像时,它有很多空白!签名很小,不会占据设备的整个屏幕,但保存的图像会占据设备的整个屏幕,包括没有书写/签名的区域 是否有办法至少将图像裁剪/修剪到有签名的区域 更新: 如果你看下面的样本,你会注意到签名周围的区域。我无法在显示时调整图像本身的大小,因为这会使签名更小,更难阅读 最后,我自己找到了一条路
UIImageView.image
获取并保存图像,但是当我检查保存的图像时,它有很多空白!签名很小,不会占据设备的整个屏幕,但保存的图像会占据设备的整个屏幕,包括没有书写/签名的区域
是否有办法至少将图像裁剪/修剪到有签名的区域
更新:
如果你看下面的样本,你会注意到签名周围的区域。我无法在显示时调整图像本身的大小,因为这会使签名更小,更难阅读
最后,我自己找到了一条路。我所做的是我注意到两个
CGPoint
在touchesMoved(utouches:Set,with event:UIEvent?
中的leftPoint和righpoint,以下方法用于更新leftPoint和righpoint
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
}
}
如果你有其他想法,请告诉我!现在我要用这个。谢谢
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)