Various improvements

This commit is contained in:
Ilya Laktyushin
2024-04-06 15:01:03 +04:00
parent 088cdc0939
commit 0598c49a89
79 changed files with 2478 additions and 463 deletions

View File

@@ -66,13 +66,13 @@ final class StickerCutoutOutlineView: UIView {
let randomBeginTime = (previousBeginTime + 4) % 6
previousBeginTime = randomBeginTime
let duration = path.length / 2200.0
let duration = min(5.0, max(2.0, path.length / 2200.0))
let outlineAnimation = CAKeyframeAnimation(keyPath: "emitterPosition")
outlineAnimation.path = path.path.cgPath
outlineAnimation.duration = duration
outlineAnimation.repeatCount = .infinity
outlineAnimation.calculationMode = .cubicPaced
outlineAnimation.calculationMode = .paced
outlineAnimation.beginTime = Double(randomBeginTime)
self.outlineLayer.add(outlineAnimation, forKey: "emitterPosition")
@@ -85,7 +85,7 @@ final class StickerCutoutOutlineView: UIView {
lineEmitterCell.color = UIColor.white.cgColor
lineEmitterCell.contents = UIImage(named: "Media Editor/ParticleDot")?.cgImage
lineEmitterCell.lifetime = 2.2
lineEmitterCell.birthRate = 1000
lineEmitterCell.birthRate = 120
lineEmitterCell.scale = 0.14
lineEmitterCell.alphaSpeed = -0.4
@@ -147,8 +147,11 @@ private func getPathFromMaskImage(_ image: CIImage, size: CGSize, values: MediaE
let minSide = min(size.width, size.height)
let scaledImageSize = image.extent.size.aspectFilled(CGSize(width: minSide, height: minSide))
var contour = findContours(pixelBuffer: pixelBuffer)
guard !contour.isEmpty else {
return nil
}
contour = simplify(contour, tolerance: 1.4)
let path = BezierPath(points: contour, smooth: false)