trucos tecnicas para lapiz fondos fondo dibujos dibujo dibujar con como canal ios objective-c uiview core-graphics calayer

ios - tecnicas - Dibujar en UIView en puntos de contacto da un efecto de dibujo borroso en los límites



fondos para dibujos a lapiz (2)

Para resolver mi último problema: Dibujar / pintar como color de boceto dentro de una ruta bezier en UIView , tomé una imagen exacta (de ruta) llena con el color seleccionado. Luego, para dibujar eso en UIView , UIView color de contexto:

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 camino de la vista, pero en los límites, el color se apaga como efecto de fusión.

Fuente Imagen en la cual el color debe ser llenado:

imagen que se utilizará como colorWithPatternImage (img)

Después de dibujar en toques, resultimg Imagen:

¿Qué me falta aquí para llenarlo perfectamente? ¡Cualquier ayuda con gráficos centrales es bienvenida! ¡Gracias!

Para enmascarar la imagen también lo 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 hacen el mismo truco, es decir, me permite dibujar solo dentro de la ruta, el problema al que me enfrento ahora es: ¡da un mal efecto al dibujar puntos de contacto alrededor de los límites del camino!


Puede crear puntos de ruta de esta imagen. Luego CGPathRef un CGPathRef o CGMutablePathRef y luego CGMutablePathRef como una máscara para tu CGContextRef .


Bueno, está trabajando con mi propio método de enmascaramiento a través de colorWithPatternImage, aunque enmascararlo mediante clipping es lo mismo. El problema del dibujo se debía a que la imagen se dibujaba 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 ordena.