я получаю точку с сенсорным экраном, а также масштабировать точку, то я поставил точку в UIBezierPath
,IOS: UIImage создатель UIBezierPath не сглаживать
это мой код
let bezierPath = UIBezierPath()
for var i:Int = 0 ; i < newPoints.count ; i++ {
var indexCount = 0
let point = newPoints[i][j]
if point.count > 0{
let newPointX = point[0] - originRectX // reset the point start with CGPointZero
let newPointY = point[1] - originRectY
let scalePointX = newPointX * heightScale //scale the point with heightScale 0.25
let scalePointY = newPointY * heightScale
let scalePoint = CGPointMake(scalePointX, scalePointY)
if indexCount == 0 {
bezierPath.moveToPoint(scalePoint)
}else{
bezierPath.addLineToPoint(scalePoint)
}
indexCount++
}
}
я преобразовать путь к UIImage
var tempImage = UIImage()
UIGraphicsBeginImageContextWithOptions(size, false, 1)
stokeColor.setStroke()
bezierPath.lineWidth = lineWidth
bezierPath.lineCapStyle = CGLineCap.Round
bezierPath.lineJoinStyle = CGLineJoin.Round
bezierPath.stroke()
tempImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
тогда я рисую UIImage в экране
let context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context)
let rect = CGRect(x: drawObj.points![0].x,y: drawObj.points![0].y,width: drawObj.image.size.width,height: drawObj.image.size.height)
drawObj.image?.drawInRect(rect)
CGContextRotateCTM(context,CGFloat(Double(drawObj.angle!)*M_PI/180))
CGContextRestoreGState(context)
это эффект
Вы можете найти не сглаживать
В то время как Курт ответил на вопрос о пикселизации, вы также можете найти отдельную проблему, которая 'addLineToPoint' может в конечном итоге привести к тому, что путь будет выглядеть как ряд сегментов линии, а не плавные кривые. По крайней мере, в iOS 9 вы можете использовать объединенные и прогностические точки для улучшения количества точек, захваченных на высокопроизводительных устройствах. Кроме того, вы можете применять алгоритмы сглаживания, показанные здесь: http://stackoverflow.com/questions/34579957/drawing-class-drawing-straight-lines-instead-of-curved-lines/34583708#34583708. – Rob