所以我有UIImageView,我用它来写用户的签名。 UIImageView占用整个屏幕,方便用户附加签名。
我可以通过UIImageView.image
获取并保存图像,但是当我检查保存的图像时,它有很多空白!签名很小,不占用设备的整个屏幕,但保存的图像占据设备的整个屏幕,包括没有书写/签名的区域。
有没有办法至少裁剪/修剪图像到有签名的区域?
答案 0 :(得分:0)
最后,我找到了自己的方法。我所做的是我注意到CGPoint
中左边的两个touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?)
和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
}
}
中的右边点,以下方法用于更新leftPoint和rightPoint
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)
ClientRequest.Headers["Content-type"] = "application/json";
string result = ClientRequest.DownloadString(ServiceHostName + "/NajaService.svc/GetCarData/" + plaque);
var javascriptserializer = new JavaScriptSerializer();
return javascriptserializer.Deserialize<NajaResult>(result);
如果您有其他想法,请告诉我们!现在我将使用它。感谢