问题描述
我有一个点数组 (CGPoint),通过这些点我在图像上画线,即:我在图像中有一个图形(通常是一个正方形),在给定的点上我画了一个图形(通常,也是一个正方形)在图像中的正方形内,点设置为沿着正方形的内边界。
问题是我对点本身的计算有点错误,并且正方形的内边界(在图像本身上)和我绘制的线(按点)之间存在空间。是否有可能以某种方式将点数组 (CGPoint) 移动几个位置,以便我绘制的线和正方形的内边界相接触?或者是否只需要重新定义已经接触的新点数组?
为了不重新计算点,我尝试为我绘制的线条设置一个笔触(笔触颜色)(因此我试图完成我的线条和正方形边界之间的空间),一切都会好起来的,但这是我的线条内侧的 50% 中风,我不能仅从外侧进行。 Mb 你能帮我这个吗
func draw(points: [CGPoint],image: UIImage) -> UIImage? {
UIGraphicsBeginImageContext(image.size)
image.draw(in: CGRect(x: 0,y: 0,width: image.size.width,height: image.size.height))
guard let context = UIGraphicsGetCurrentContext() else { return nil }
context.setLineWidth(5.0)
context.beginPath()
var oldPoint = points[0]
context.move(to: oldPoint)
for index in 1...points.count-1 {
context.addLine(to: points[index] as CGPoint)
oldPoint = points[index] as CGPoint
}
context.addLine(to: points[0])
context.closePath()
UIColor.init(rgb: 0xe1dfdf).setStroke()
UIColor.red.withAlphaComponent(0.4).setFill()
context.drawPath(using: .fillStroke)
context.fillPath()
guard let resultImage = UIGraphicsGetImageFromCurrentImageContext() else { return nil }
UIGraphicsEndImageContext()
return resultImage
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)