我有兩個UIImageView,第一個在第二個之上。我想用畫筆擦除第一張圖片(畫筆是帶有軟邊緣的png圖片),以使第二張圖片可見。如何用png-brush和UIBezierPath擦除UIImageView的片段
我這樣做,通過這種方式:
1)touchesMoved和[自setNeedsDisplayInRect:[自brushRectForPoint:touch_location]];在(無效)的drawRect
2):(的CGRect)RECT我請[_brush drawAtPoint:touch_location的BlendMode:kCGBlendModeDestinationOut阿爾法:1];
它工作正常,但頻率touchesMoved不夠,如果用戶移動手指太快然後我得到了很多的短線(或平衡點),而不是一個長行。
我發現UIBezierPath和example的信息,但筆者只是路徑繪製線條:
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextAddPath(context, path);
CGContextSetLineCap(context, kCGLineCapRound);
CGContextSetLineWidth(context, self.lineWidth);
CGContextSetStrokeColorWithColor(context, self.lineColor.CGColor);
CGContextStrokePath(context);
怎樣繪製我的PNG刷UIBezierPath?
我需要的是這樣的
非常感謝!
觸摸位置的移動平均值如何?這會引入一些滯後(可能或不可取),但會消除「跳躍」。 MA時期越長,越平滑,但也越滯後。 – verec
好的,我明白了,但是當然滯後並不好。無論如何感謝您的想法。可能是我會盡力做到這一點。 –