iOS开发集锦之 2017.05.23(iOS动画系列)

iOS开发集锦之 2017.05.23(iOS动画系列)_第1张图片
生产环境不小心执行rm -rf *命令 ​​​​ ​​​​ ​​​​ ​​​​ ​​​​ ​​​​ ​​​​ ​​​​ by:@程序员GIF
**文章**

1. iOS动画系列之四/五:基础动画之平移篇,缩放篇&旋转篇

作者: 非典型技术宅
描述:

  • 1.创建layer并添加到view
  • 2.创建CABasicAnimation,并设置相关属性. 讲layer的某个属性(keyPath)从某个值(fromValue)动画到另一个值(toValue),设置动画的持续时间(duration), 速度控制(timingFunction), 动画开始/结束后处理某些操作(CAAnimationDelegate)
  • 3.动画添加到layer上, 实现CAAnimationDelegate若干方法(可选)

demo: iOS实践:CABasic-Animation(OC和Swift两版)

iOS开发集锦之 2017.05.23(iOS动画系列)_第2张图片

2. 基于 GPUImage2 图像合成视频的探索

作者: Enum
描述:

  • 1.GPUImage2(GPUImage 的swift版本), 原理: input --> filter --> output
  • 2.图片组 -> 视频: pictureInput1 --> movieOutput
  • 3.探索如何设置帧率: MovieOutput -> newFramebufferAvailable() -> FramebufferTimingStyle -> PictureInput -> Framebuffer
  • 4.构造Framebuffer中的时间戳

核心代码:

let output = try! MovieOutput.init(URL: outputURL, size: size, liveVideo: true)
output.startRecording()
for path in imagePaths {
     autoreleasepool(invoking: {
        let img = UIImage.init(contentsOfFile: path)!
        let timestamp = Timestamp.init(...)
        input.imageFramebuffer.timingStyle = FramebufferTimingStyle.videoFrame(timestamp: timestamp)
        let input = PictureInput.init(image: img)
        input --> output
        input.processImage()
        input.removeAllTargets()
    }
}
output.finishRecording()

查看订阅消息,请关注微信订阅号: iOS_dev_awesome


iOS开发集锦之 2017.05.23(iOS动画系列)_第3张图片
iOS_dev_awesome

你可能感兴趣的:(iOS开发集锦之 2017.05.23(iOS动画系列))