扫一扫咨询方案
首页
登录/注册

{user.username}

ID: {user.id}

模板 SDK 文档

  • 云渲染

    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK

    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK

    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程

    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程

    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南
产品简介
安卓端 SDK
iOS SDK
服务端 SDK
开发指南
Demo 下载
用户常见问题
首页 > iOS SDK > 滤镜

滤镜

更新时间 : 2021-02-22 09:31:12

接口介绍

  1. SXFilter类用来初始化一个滤镜文件,方法类似SXTemplate,通过文件路径初始化。生成实例后可以检查滤镜版本是否能被当前SDK版本支持。

  2. 预加载滤镜是根据方向进行添加,目前提供四个方向的预加载,可以通过SXFilterTransitDirection来设置,这一步是为了滤镜切换时的流畅,使用时再加载可能会造成卡顿。

  3. setFilter方法是用来直接替换当前界面上的滤镜,不进行动画过渡。

/**
 强制替换一个滤镜

 @param filter 需要替换上的滤镜对象
 */
- (void)setFilter:(SXFilter *)filter;

/**
 预加载一个滤镜,为动态滤镜切换做准备。
 同一时间最多只有一个正在使用的滤镜,同方向上只有一个预加载的滤镜。

 @param filter 需要预加载的滤镜
 @param direction 预加载的滤镜方向
 */
- (void)preloadFilter:(SXFilter *)filter direction:(SXFilterTransitDirection)direction;

/**
 过渡到目前已经预加载的滤镜。

 @param progress 滤镜切换进度
 @param direction 滤镜切换方向
 */
- (void)transitToFilter:(float)progress direction:(SXFilterTransitDirection)direction;

示例代码

  1. 预加载滤镜,只需要加载用到的方向。
- (void)setPreloadFilter {
    SXFilter *filter1 = [[SXFilter alloc
                         ] initWithFilePath:[[NSBundle  mainBundle].resourcePath stringByAppendingPathComponent:@"filter1"]];
    [_mTemplate preloadFilter:filter1 direction:SXFilterTransitDirectionRightToLeft];

    SXFilter *filter2 = [[SXFilter alloc
                          ] initWithFilePath:[[NSBundle  mainBundle].resourcePath stringByAppendingPathComponent:@"filter2"]];
    [_mTemplate preloadFilter:filter2 direction:SXFilterTransitDirectionLeftToRight];

    SXFilter *filter3 = [[SXFilter alloc
                          ] initWithFilePath:[[NSBundle  mainBundle].resourcePath stringByAppendingPathComponent:@"filter3"]];
    [_mTemplate preloadFilter:filter3 direction:SXFilterTransitDirectionBottomToTop];

    SXFilter *filter4 = [[SXFilter alloc
                          ] initWithFilePath:[[NSBundle  mainBundle].resourcePath stringByAppendingPathComponent:@"filter4"]];
    [_mTemplate preloadFilter:filter4 direction:SXFilterTransitDirectionTopToBottom];

}
  1. 过渡滤镜
 [_mTemplate transitToFilter:progress direction:SXFilterTransitDirectionRightToLeft];
  1. 直接设置滤镜
[_mTemplate setFilter:filter1];
首页 > iOS SDK > 滤镜
滤镜
更新时间 : 2021-02-22 09:31:12
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南

接口介绍

  1. SXFilter类用来初始化一个滤镜文件,方法类似SXTemplate,通过文件路径初始化。生成实例后可以检查滤镜版本是否能被当前SDK版本支持。

  2. 预加载滤镜是根据方向进行添加,目前提供四个方向的预加载,可以通过SXFilterTransitDirection来设置,这一步是为了滤镜切换时的流畅,使用时再加载可能会造成卡顿。

  3. setFilter方法是用来直接替换当前界面上的滤镜,不进行动画过渡。

/**
 强制替换一个滤镜

 @param filter 需要替换上的滤镜对象
 */
- (void)setFilter:(SXFilter *)filter;

/**
 预加载一个滤镜,为动态滤镜切换做准备。
 同一时间最多只有一个正在使用的滤镜,同方向上只有一个预加载的滤镜。

 @param filter 需要预加载的滤镜
 @param direction 预加载的滤镜方向
 */
- (void)preloadFilter:(SXFilter *)filter direction:(SXFilterTransitDirection)direction;

/**
 过渡到目前已经预加载的滤镜。

 @param progress 滤镜切换进度
 @param direction 滤镜切换方向
 */
- (void)transitToFilter:(float)progress direction:(SXFilterTransitDirection)direction;

示例代码

  1. 预加载滤镜,只需要加载用到的方向。
- (void)setPreloadFilter {
    SXFilter *filter1 = [[SXFilter alloc
                         ] initWithFilePath:[[NSBundle  mainBundle].resourcePath stringByAppendingPathComponent:@"filter1"]];
    [_mTemplate preloadFilter:filter1 direction:SXFilterTransitDirectionRightToLeft];

    SXFilter *filter2 = [[SXFilter alloc
                          ] initWithFilePath:[[NSBundle  mainBundle].resourcePath stringByAppendingPathComponent:@"filter2"]];
    [_mTemplate preloadFilter:filter2 direction:SXFilterTransitDirectionLeftToRight];

    SXFilter *filter3 = [[SXFilter alloc
                          ] initWithFilePath:[[NSBundle  mainBundle].resourcePath stringByAppendingPathComponent:@"filter3"]];
    [_mTemplate preloadFilter:filter3 direction:SXFilterTransitDirectionBottomToTop];

    SXFilter *filter4 = [[SXFilter alloc
                          ] initWithFilePath:[[NSBundle  mainBundle].resourcePath stringByAppendingPathComponent:@"filter4"]];
    [_mTemplate preloadFilter:filter4 direction:SXFilterTransitDirectionTopToBottom];

}
  1. 过渡滤镜
 [_mTemplate transitToFilter:progress direction:SXFilterTransitDirectionRightToLeft];
  1. 直接设置滤镜
[_mTemplate setFilter:filter1];