Al dibujar en UIView en los puntos de contacto se obtiene un efecto de dibujo borroso en los límites

Para resolver mi último problema: dibujar / pintar como color de boceto dentro de una ruta Bézier en UIView , tomé una Imagen exacta (de la ruta) llena con el color seleccionado. Luego, para dibujar eso en UIView , para el color de context tomé:

 lineColor=[UIColor colorWithPatternImage:img]; 

en drawrect:

 CGPoint mid1 = midPoint(previousPoint1, previousPoint2); CGPoint mid2 = midPoint(currentPoint, previousPoint1); [curImage drawInRect:CGRectZero]; CGContextRef context = UIGraphicsGetCurrentContext(); [self.layer renderInContext:context]; CGContextMoveToPoint(context, mid1.x, mid1.y); CGContextAddQuadCurveToPoint(context, previousPoint1.x, previousPoint1.y, mid2.x, mid2.y); CGContextSetLineCap(context, kCGLineCapRound); CGContextSetBlendMode(context, kCGBlendModeCopy); CGContextSetLineJoin(context, kCGLineJoinRound); CGContextSetLineWidth(context, self.lineWidth); CGContextSetStrokeColorWithColor(context,lineColor.CGColor); CGContextSetShouldAntialias(context, YES); CGContextSetAllowsAntialiasing(context, YES); CGContextSetFlatness(context,0.5); CGContextSetAlpha(context, 1.0); CGContextStrokePath(context); 

Se dibuja exactamente en el path de la vista, pero en los límites el color se apaga como efecto de fusión.

Imagen de origen en la que se debe completar el color: Imagen a llenar con color

image que se utilizará como colorWithPatternImage (img) introduzca la descripción de la imagen aquí

Después de dibujar con toques, resultimg Imagen: introduzca la descripción de la imagen aquí

¿Qué me falta aquí para llenarlo a la perfección? ¡Cualquier ayuda con charts centrales es muy bienvenida! ¡Gracias!

Para enmascarar la image también hice:

 -(void)clipView :(MyUIBezierPath*)path drawingView:(DrawingView*)myView { MyUIBezierPath *myClippingPath =path; CAShapeLayer *mask = [CAShapeLayer layer]; mask.path = myClippingPath.CGPath; myView.layer.mask = mask; } 

Pero colorWithPatternImage y este enmascaramiento hace el mismo truco, es decir, me permite dibujar solo dentro de la ruta, el problema que estoy enfrentando ahora es: ¡Da un efecto negativo al dibujar puntos de contacto alnetworkingedor de los límites de la ruta!

Bueno, está funcionando con mi propio método de enmascaramiento mediante colorWithPatternImage, aunque enmascararlo mediante el recorte es lo mismo. El problema de dibujo se debió a que la image se dibujó en el punto de contacto en el método "calculateMinImageArea: CGPoint1: CGPoint2: CGPoint3". Cambiar sus dimensiones (alto-ancho según el ancho de línea) lo ordera.

Puede crear una ruta de puntos de esta image. Luego haga un CGPathRef o CGMutablePathRef y luego utilícelo como una máscara a su CGContextRef .