涂图

  • 首页
  • 解决方案
    • 拍照和图片编辑
    • 视频录制和后期编辑
    • 模板视频
    • 人像美颜
    • 人脸特效
    • 滤镜特效
    • 贴纸特效
  • API服务
    • 人像服务
    • 视频融合
    • 人脸云
    • 在线滤镜
  • 客户案例
  • 下载
  • 文档
  • 关于我们
  • 控制台
  • 一、新手上路
  • 控制台操作说明
    • 控制台使用说明
    • 自定义资源上传说明
  • 二、SDK 文档
  • 图像 SDK
    • 产品说明
      • 产品指南
      • 性能测试报告
    • iOS 文档
      • 快速开始
      • 安装与更新
      • 集成向导
      • 相机组件的使用
      • 相册组件的使用
      • 照片美化组件的使用
      • 主题包基础使用
      • 自定义滤镜
      • 自定义贴纸
      • 自定义界面
      • 自定义 ProgressHUD 提示框(2.0.0~3.2.7)
      • 自定义 ProgressHUD 提示框
      • API 文档
      • 致谢
    • Android 文档
      • 快速开始
      • 安装与更新
      • 集成向导
      • 相机组件的使用
      • 照片美化组件的使用
      • 头像设置组件的使用
      • 多选相册组件的使用
      • 主题包基础使用
      • 自定义贴纸
      • 自定义滤镜
      • 自定义界面
      • 自定义进度信息提示框
      • 自定义 Activity 打开相机
      • API 文档
      • 致谢
    • iOS 技术问题
      • 「Incorrenct app key」
      • 更换滤镜效果图
      • 导航栏与状态栏
      • 组件中使用部分滤镜
      • Cocoapods 相关问题
      • 图片尺寸变化
      • Photos.framework 相关错误
      • 多包名发布
      • GPUImage 的相关错误
      • TuSDKTSALAsset 转换系统对象
      • 滤镜无法显示名称
      • 获取相机的点击事件
    • Android 技术问题
      • Incorrenct app key
      • 重复引用包
      • Recyclerview 库缺失
      • 方法数超出 65536 限制
      • 传入图片路径
      • 指定裁剪比例
      • 指定相册每行列数
      • 禁用相册自动跳转
      • 如何使用部分滤镜?
      • 代码混淆
      • TuSDK 使用的依赖库
      • 多渠道打包
      • 设置相机输出尺寸
      • 相机横屏设置
      • 自定义照片美化组件各功能模块效果默认参数值
    • 拼图设计
      • 拼图模板导出
    • 版本更新日志
      • iOS 版本更新日志
      • Android 更新日志
  • 视频剪辑 SDK
    • 产品说明
      • 产品指南
    • iOS文档
      • TuSDK Video Editor iOS 接入文档
    • Android文档
      • TuSDK Video Editor Android 接入文档
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 流处理(特效相机) SDK
    • 产品说明
      • 产品指南
    • iOS 文档
      • TuSDK特效相机接入文档-iOS
      • TuSDK直播特效接入说明-iOS
    • Android 文档
      • TuSDK特效相机接入文档-Android
      • TuSDK直播特效接入说明-Android
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 视频融合 SDK
    • 产品说明
      • 产品指南
      • 模板管理
    • iOS 文档
      • 快速开始
      • 安装与更新
      • TuSDK EVA 接入说明 2.0
      • API文档
    • Android 文档
      • 快速开始
      • 安装与更新
      • TuSDK EVA 接入说明 (2.0.0+)
      • API 文档
    • 模板设计
      • (新)标准模板设计规范
      • (旧)标准模板设计规范
      • 支持的 AE 功能和属性
      • 动态模板设计规范
    • 模板导出
      • (新)模板导出插件安装
      • (新)模板导出插件使用
      • (旧)模板导出插件安装
      • (旧)模板导出插件使用
      • (旧)模板效果查看器
      • (旧)模板打包规范
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
      • 导出插件版本更新日志
      • 效果查看器更新日志
  • 短视频 SDK
    • 产品说明
      • 产品指南
      • 性能测试报告
    • iOS 文档
      • 快速开始
      • 集成向导
      • 录制相机的使用
      • 视频编辑器的使用
      • 功能 API 的使用
      • API 文档
    • Android 文档
      • 快速开始
      • 集成向导
      • 录制相机的使用
      • 视频编辑器的使用
      • 功能 API 的使用
      • API 文档
    • iOS 技术问题
      • 常见问题
    • Android 技术问题
      • 常见问题
    • 版本更新日志
      • iOS 版本更新日志
      • Android 版本更新日志
  • 三、云服务文档
  • 人像服务
    • 使用文档
      • 快速入门
      • 核心功能
    • API概述
      • API 概述
      • API 文档
    • 常见问题
      • 常见问题
  • 视频融合(云渲染)
    • 使用文档
      • 快速入门
      • 模板管理
    • API概述
      • API概述
      • API 文档
    • 模板设计
      • (新)标准模板设计规范
      • (旧)标准模板设计规范
      • 支持的 AE 功能和属性
      • 动态模板设计规范
    • 模板导出
      • (新)模板导出插件安装
      • (新)模板导出插件使用
      • (旧)模板导出插件安装
      • (旧)模板导出插件使用
      • (旧)模板效果查看器
      • (旧)模板打包规范
    • 常见问题
    • 版本更新日志
      • 导出插件版本更新日志
      • 效果查看器更新日志
  • 人脸云
    • 使用文档
      • 快速入门
      • 核心功能
    • API 概述
      • API 概述
    • 常见问题
      • 常见问题
  • 在线滤镜
    • 使用文档
      • 快速入门
      • 核心功能
      • FILTER API
      • API 错误码表
    • API概述
      • API 概述
    • 常见问题
      • 常见问题
  • 四、综合
  • 涂图隐私协议
  • 用户退出机制
  • 动态贴纸设计规范
  • 美妆贴纸设计规范
  • 云服务账单说明
  • 应用包名与密钥
  • 基础服务开发者升级流程
  • 五、常见问题
  • 常见问题
  • 遇到问题,怎么办?
  • 如何使用贴纸管理、滤镜管理?

照片美化组件的使用

  • TuSDK 的照片美化组件是功能最全面的编辑组件,功能涵盖其他编辑组件。文档以照片美化组件为例,展示组件的使用方法和自定义组件界面。如有需求使用其他编辑组件,可参考照片美化组件的使用。
  • 如果用户使用 TUTUCLOUD 官方 Demo 登陆画面中的照片美化组件的启动方式调用,需要用户参考 Demo 中的 SampleBase 文件对自己的项目进行相关环境配置,详见 TuSDK-for-iOS-demo 。
  • 请用户直接使用 EditMultipleComponentSample 中的代码进行照片美化组件的调用。
  • 请按照官方 Demo 中给出的方法进行使用,不要更改组件的代码顺序。

启动编辑器

  • 在需要使用组件的地方导入头文件 #import <TuSDKGeeV1/TuSDKGeeV1.h>。
  • 创建组件对象,需要将组件声明成全局变量。
  • 单独启动组件,请事先确定默认主题包的 style,如不使用 GeeV2 主题包的相关功能,可不进行 style 的设置
    // 使用默认主题包的组件需要在组件启动前提前选择主题包的`style`,避免默认主题包组件 UI 显示异常。
    // [TuSDK shared].style = lsqSdkUIDefault;
/**
 *  照片美化组件范例
 */
@interface SimpleEditMultipleComponent ()
{
   // *****  这里很重要  ***** 
   // 照片美化组件
    TuSDKCPPhotoEditMultipleComponent *_photoEditMultipleComponent;
}
  • 在需要使用组件的地方调用组件的启动方法

  • 如果是直接在点击事件中启动组件,组件启动方法中传入的控制器的参数要写 self 。

    _photoEditMultipleComponent =
      [TuSDKGeeV1 photoEditMultipleWithController:controller
                                 callbackBlock:^(TuSDKResult *result, NSError *error, UIViewController *controller)
       {
           // 获取图片失败
           if (error) {
               lsqLError(@"editMultiple error: %@", error.userInfo);
               return;
           }
           [result logInfo];
    
           //
           // 可在此添加自定义方法,在编辑完成时进行页面跳转操,例如 : 
           // [controller presentViewController:[[UIViewController alloc] init] animated:YES completion:nil];
    
           // 图片处理结果 TuSDKResult *result 具有三种属性,分别是 :
           // result.image 是 UIImage 类型
           // result.imagePath 是 NSString 类型
           // result.imageAsset 是 TuSDKTSAssetInterface 类型
    
           // 下面以 result.image 举例如何将图片编辑结果持有并进行其他操作
           // 可在此添加自定义方法,将 result 结果传出,例如 :  [self openEditorWithImage:result.image];
           // 并在外部使用方法接收 result 结果,例如 : -(void)openEditorWithImage:(UIImage *)image;
           // 用户也可以在 result 结果的外部接受的方法中实现页面的跳转操作,用户可根据自身需求使用。
    
           // 用户在获取到 result.image 结果并跳转到其他页面进行操作的时候可能会出现无法持有对象的情况
           // 此时用户可以将 result.image 对象转换成 NSData 类型的对象,然后再进行操作,例如 :
           // NSData *imageData = UIImageJPEGRepresentation(result.image, 1.0);
           // ViewController *viewController = [[ViewController alloc]init];
           // [self.controller pushViewController:viewController animated:YES];
           // viewController.currentImage = [UIImage imageWithData:imageData];
    
           // 获取 result 对象的不同属性,需要对 option 选项中的保存到相册和保存到临时文件相关项进行设置。
           // 
    
       }];
  • 对组件图片的传输方式进行设置,启动组件

    //
    // ~~~~ 设置图片 ~~~~  这里很重要,一定要选择一种图片传输方式,将图片传给组件
    //
    // UIImage 类型,图片
    _photoEditMultipleComponent.inputImage = result.image;
    // NSString 类型,文件保存路径
    _photoEditMultipleComponent.inputTempFilePath = result.imagePath;
    // TuSDKTSAssetInterface 类型,相册地址对象
    _photoEditMultipleComponent.inputAsset = result.imageAsset;

    // 是否在组件执行完成后自动关闭组件 (默认:NO)
    _photoEditMultipleComponent.autoDismissWhenCompelted = YES;
    // 编辑动作完成传出参数时,如果使用 UImage 对象,请注意组件关闭,控制器被销毁 UIImage 会被释放,持有方法参考上文。

    [_photoEditMultipleComponent showComponent];

配置功能模块

  • TuSDK 的照片美化组件为用户提供了多种功能模块,分别是 贴纸 滤镜 涂抹 美颜 裁切 调整 光圈 暗角 锐化 圣光 模糊 等。

  • 选择性使用,示例代码中禁止了裁剪、滤镜、美颜三个功能模块,不使用的模块可使用此方法禁用,不设置该选项将默认加载全部模块

    [_photoEditMultipleComponent.options.editMultipleOptions disableModule:lsqTuSDKCPEditActionCuter];

    [_photoEditMultipleComponent.options.editMultipleOptions disableModule:lsqTuSDKCPEditActionFilter];

    [_photoEditMultipleComponent.options.editMultipleOptions disableModule:lsqTuSDKCPEditActionSkin];
  • 保存到系统相册, YES 是保存系统相册
    _photoEditMultipleComponent.options.editMultipleOptions.saveToAlbum = YES;
  • 保存到系统相册的相册名称,相册名称可以修改
    _photoEditMultipleComponent.options.editMultipleOptions.saveToAlbumName = @"TuSDK";
  • 保存到临时文件,YES 是保存到临时文件
    _photoEditMultipleComponent.options.editMultipleOptions.saveToTemp = YES;
  • 控制器关闭后是否自动删除临时文件,用户需要拿到临时文件,这个选项需要配置 NO
    _photoEditMultipleComponent.options.editMultipleOptions.isAutoRemoveTemp = YES;
  • 禁用操作步骤记录,编辑界面上代表前进和后退的两个按钮,可以查看编辑记过,禁用此功能,用户将无法恢复上一步的编辑效果。
    _photoEditMultipleComponent.options.editMultipleOptions.disableStepsSave = YES;
  • 显示处理结果的预览图,默认是 NO ,开启功能后,在最后完成图片编辑的时候会出现预览图效果
    _photoEditMultipleComponent.options.editMultipleOptions.showResultPreview = NO;
  • 最大输出图片按照设备屏幕,默认是 NO, 如果设置了LimitSideSize, 将忽略LimitForScreen
    _photoEditMultipleComponent.options.editMultipleOptions.limitForScreen = YES;
  • 最大输出图片边长,使用该属性设置输出图片的最大边长,系统会自动计算图片的长宽。
    _photoEditMultipleComponent.options.editMultipleOptions.limitSideSize = 800;
  • 指定界面控制器类型,进行自定义界面,使用该方法将继承 TuSDKPFEditMultipleController 类的子类指定给组件,这样组件就会自动调用子类中重写的相应方法。
    _photoEditMultipleComponent.options.editMultipleOptions.componentClazz = [TuSDKPFEditMultipleController class];
  • 指定界面视图类型,进行自定义界面,使用该方法将继承 TuSDKPFEditMultipleView 类的子类指定给组件,这样组件就会自动调用子类中重写的相应方法。
    _photoEditMultipleComponent.options.editMultipleOptions.viewClazz = [TuSDKPFEditMultipleView class];

配置功能模块参数

  • TuSDK 的多功能图片编辑组件为用户提供了多种功能模块,分别是滤镜 裁切 涂抹 美颜 贴纸 调整 光圈 暗角 锐化 圣光 模糊等。常用的设置配置主要是裁剪,滤镜和涂抹功能

滤镜控制器配置选项

  • 滤镜去除分组显示,自定义显示需求滤镜。
  • 注意 : 使用在线滤镜下载到本地的滤镜是分组显示的滤镜,如果设置了 filterGroup ,那么在线滤镜下载的滤镜将会无法显示。
  • 滤镜名称列表,滤镜名称参考 TuSDK.bundle/others/lsq_tusdk_configs.json,滤镜分组 filterGroups[]->filters[]->name lsqfilter%{Brilliant}
    _photoEditMultipleComponent.options.editFilterOptions.filterGroup = @[@"SkinNature", @"SkinPink", @"SkinJelly", @"SkinNoir", @"SkinRuddy", @"SkinPowder", @"SkinSugar"];
  • 照片输出压缩率, 如果设置为 0 ,将保存为PNG格式
    _photoEditMultipleComponent.options.editFilterOptions.outputCompress = 0.95f;
  • 滤镜列表行视图宽度
    _photoEditMultipleComponent.options.editFilterOptions.filterBarCellWidth = 75;
  • 滤镜列表选择栏高度
    _photoEditMultipleComponent.options.editFilterOptions.filterBarHeight = 100;
  • 显示滤镜标题视图
    _photoEditMultipleComponent.options.editFilterOptions..displayFilterSubtitles = YES;
  • 是否渲染滤镜封面 (使用设置的滤镜直接渲染,需要拥有滤镜列表封面设置权限)
    _photoEditMultipleComponent.options.editFilterOptions.isRenderFilterThumb = YES;

裁切控制器配置选项

  • 开启图片旋转,默认是 false,可选择开启
    _photoEditMultipleComponent.options.editCuterOptions.enableTrun = YES;
  • 开启图片镜像,默认是 false ,可以选择开启
    _photoEditMultipleComponent.options.editCuterOptions.enableMirror = YES;
  • 裁剪比例显示,默认加载全部比例,可以选择加载部分比例
    // 全部比例
    lsqRatioAll = lsqRatioOrgin | lsqRatio_1_1 | lsqRatio_2_3 | lsqRatio_3_4 | lsqRatio_9_16 | lsqRatio_3_2 | lsqRatio_4_3 | lsqRatio_16_9;
    // 默认比例
    lsqRatioDefault = lsqRatioOrgin | lsqRatio_1_1 | lsqRatio_2_3 | lsqRatio_3_4 | lsqRatio_9_16;
    // 默认设置
    _photoEditMultipleComponent.options.editCuterOptions.ratioType = lsqRatioDefault;
    // 自定义设置
    _photoEditMultipleComponent.options.editCuterOptions.ratioType = lsqRatio_2_3 | lsqRatio_3_4 | lsqRatio_9_16;
  • 可自定义选择想要的裁切比例以及自定义裁切比例的排序,通过改变数组内元素顺序即可自定义比例排列顺序
    // 全部比例
    lsqRatioAll = lsqRatioOrgin | lsqRatio_1_1 | lsqRatio_2_3 | lsqRatio_3_4 | lsqRatio_9_16 | lsqRatio_3_2 | lsqRatio_4_3 | lsqRatio_16_9;
    // 默认比例
    lsqRatioDefault = lsqRatioOrgin | lsqRatio_1_1 | lsqRatio_2_3 | lsqRatio_3_4 | lsqRatio_9_16;
    // 默认设置
    _photoEditMultipleComponent.options.editCuterOptions.ratioTypeList = @[@(lsqRatioOrgin), @(lsqRatio_1_1), @(lsqRatio_2_3), @(lsqRatio_3_4), @(lsqRatio_9_16)];
    // 自定义设置
    _photoEditMultipleComponent.options.editCuterOptions.ratioTypeList = @[@(lsqRatio_16_9), @(lsqRatio_3_2), @(lsqRatio_2_3), @(lsqRatio_3_4), @(lsqRatio_9_16)];

涂抹控制器配置选项

  • 默认的笔刷大小 (默认: lsqBrushMedium,中等粗细)
    _photoEditMultipleComponent.options.editSmudgeOptions.defaultBrushSize = lsqMediumBrush;
  • 是否保存上一次使用的笔刷 (默认: YES)
    _photoEditMultipleComponent.options.editSmudgeOptions.saveLastBrush = YES;
  • 默认撤销的最大次数 (默认: 5)
    _photoEditMultipleComponent.options.editSmudgeOptions.maxUndoCount = 5;

获取编辑结果图片

使用 TuSDK 的图片编辑组件,可以通过设置不同的属性以方便管理编辑结果及输出方式。

和相机类似,同样有三种方式获得图片的处理结果:

  • 获取图片的 image 对象,此方式将不保存图片

  • 获取图片的存储路径,此方式会将图片保存在相册中

  • 将图片保存在临时文件中,并获取临时文件

获取编辑结果的 image 对象

您需要进行如下设置:

    // 保存到系统相册
    _photoEditMultipleComponent.options.editMultipleOptions.saveToAlbum = NO;
    // 保存到临时文件
    _photoEditMultipleComponent.options.editMultipleOptions.saveToTemp = NO;

该方式将不会保存处理结果。

随后您可以在所设置的组件注释的方法中,按照提示写出回调方法将 result.image ,然后在外部使用方法接受图片的 image 对象。

获取编辑的照片对象的存储路径

您需要进行如下设置:

    // 保存到系统相册
    _photoEditMultipleComponent.options.editMultipleOptions.saveToAlbum = YES;
    // 保存到临时文件
    _photoEditMultipleComponent.options.editMultipleOptions.saveToTemp = NO;

该方式会将处理结果保存到相册中。

同时您也可以设置

    // 保存到系统相册的相册名称
    _photoEditMultipleComponent.options.editMultipleOptions.saveToAlbumName = @"TuSdk";

将图片保存到名称为 TuSdk 的相册中。

随后您可以在所设置的组件注释的方法中,按照提示写出回调方法将 result ,然后在外部使用方法接受图片对象。

获取编辑结果所在的临时文件

您需要进行如下设置:

    // 保存到系统相册
    _photoEditMultipleComponent.options.editMultipleOptions.saveToAlbum = NO;
    // 保存到临时文件
    _photoEditMultipleComponent.options.editMultipleOptions.saveToTemp = YES;

该方式将会把处理结果保存到临时文件,同时您也可以设置

    // 控制器关闭后是否自动删除临时文件
    _photoEditMultipleComponent.options.editMultipleOptions.isAutoRemoveTemp = YES;

这样在处理完成之后将会自动删除临时文件。

随后您可以在所设置的组件注释的方法中,按照提示写出回调方法将 result.imagePath ,然后在外部使用方法接受图片对象。


当上面的配置完成之后,最后不要忘记加上下面的代码打开组件:

    // 设置图片
    _photoEditMultipleComponent.inputImage = result.image;
    _photoEditMultipleComponent.inputTempFilePath = result.imagePath;
    _photoEditMultipleComponent.inputAsset = result.imageAsset;
    // 是否在组件执行完成后自动关闭组件 (默认:NO)
    _photoEditMultipleComponent.autoDismissWhenCompelted = YES;
    // 当上一个页面是NavigationController时,是否通过 pushViewController 方式打开编辑器视图 (默认:NO,默认以 presentViewController 方式打开)
    // SDK 内部组件采用了一致的界面设计,会通过 push 方式打开视图。如果用户开启了该选项,在调用时可能会遇到布局不兼容问题,请谨慎处理。
    _photoEditMultipleComponent.autoPushViewController = YES;
    [_photoEditMultipleComponent showComponent];

  • 启动编辑器
  • 配置功能模块
  • 配置功能模块参数
  • 获取编辑结果图片
  • 在线技术支持
  • 专业售前售后团队
  • 版本定期更新
  • 全方位解决方案

商务合作

  • 177-6716-7529
  • 2969573855
  • sales@tusdk.com
  • 浙江省 杭州市 西湖区 西斗门9号 福地创业园1号楼3楼301室

关注我们

qrcode

©2019-2025 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 浙公网安备33010602001649号

  • 177-6716-7529
  • sales@tusdk.com
  • 2969573855