Mam dwa UIImageView, pierwszy nad drugim. Chcę usunąć fragment pierwszego obrazu za pomocą pędzla (pędzel jest obrazem png z miękką krawędzią), aby element drugiego obrazu był widoczny.Jak usunąć fragment UIImageView za pomocą png-brush i UIBezierPath
I tak, że w ten sposób:
1) touchesMoved i [self setNeedsDisplayInRect [siebie brushRectForPoint: touch_location]];
2) w (void) drawRect: (CGRect) rect że wywołania [_brush drawAtPoint: touch_location blendMode: kCGBlendModeDestinationOut alpha: 1];
To działa ok, ale częstotliwość touchesMoved nie wystarczy, jeśli użytkownik przesuwa palec zbyt szybko potem dostać dużo krótkich linii (lub nawet punktów) zamiast jednej długiej linii.
znalazłem informację UIBezierPath i example ale autor po prostu rysuje linie o ścieżce:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddPath(context, path);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);
CGContextStrokePath(context);
Jak mogę wyciągnąć mój png szczotkę z UIBezierPath?
muszę coś takiego
Dzięki wielkie!
Co powiesz na średnią ruchomą miejsca dotyku? Wprowadzi to pewne opóźnienie (które może lub nie jest pożądane), ale wygładza "skoki". Im dłuższy okres MA, tym bardziej płynny, ale im więcej opóźnienia. – verec
Ok, rozumiem, ale oczywiście opóźnienie nie jest dobre. W każdym razie dzięki za twój pomysł. Być może spróbuję coś z tym zrobić. –