涂图

  • 首页
  • 解决方案
    • 拍照和图片编辑
    • 视频录制和后期编辑
    • 模板视频
    • 人像美颜
    • 人脸特效
    • 滤镜特效
    • 贴纸特效
  • 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 概述
    • 常见问题
      • 常见问题
  • 四、综合
  • 涂图隐私协议
  • 用户退出机制
  • 动态贴纸设计规范
  • 美妆贴纸设计规范
  • 云服务账单说明
  • 应用包名与密钥
  • 基础服务开发者升级流程
  • 五、常见问题
  • 常见问题
  • 遇到问题,怎么办?
  • 如何使用贴纸管理、滤镜管理?

照片美化组件的使用

开启组件

设置组件委托

使用下面代码创建组件委托,并将得到的委托对象传递给获取组件对象时调用的 editMultipleCommponent() 方法。

 // 组件委托
 TuSdkComponentDelegate delegate = new TuSdkComponentDelegate()
 {
     @Override
     public void onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
     {
        TLog.d("onEditMultipleComponentReaded: %s | %s", result, error);
     }
 };

获取组件对象

组件对象使用 TuSdkGeeV1 类中的 editMultipleCommponent(Activity, TuSdkComponentDelegate) 方法获得,如下:

 TuEditMultipleComponent component = null;
 component = TuSdkGeeV1.editMultipleCommponent(activity, delegate);

开启组件

获得组件对象之后下一步就该是为组件设置图片了,设置图片有三种方式,分别是 setImage(result.image) 、setImageSqlInfo(result.imageSqlInfo) 以及 setTempFilePath(result.imageFile) 。

同时也可以设置组件执行完成后自动关闭,最后调用 showComponent() 方法开启组件,如下代码所示:

 // 设置图片
 component.setImage(result.image)
 // 设置系统照片
 .setImageSqlInfo(result.imageSqlInfo)
 // 设置临时文件
 .setTempFilePath(result.imageFile)
 // 在组件执行完成后自动关闭组件
 .setAutoDismissWhenCompleted(true)
 // 开启组件
 .showComponent();

常见属性设置

获取属性控制对象

可以通过配置 TuEditMultipleOption 来指定照片美化组件的各个属性,通过以下方式获得 TuEditMultipleOption 的对象:

TuEditMultipleOption option = component.componentOption().editMultipleOption();

指定界面控制器类型

自定义界面的时候,需要使用该方法将继承 TuEditMultipleFragment 类的子类指定给组件,这样组件就会自动调用子类中重写的相应方法。

option.setComponentClazz(TuEditMultipleFragment.class);

指定界面视图资源 ID

需要给控制器重新指定一个主界面资源 ID 的时候,使用该方法将新的视图ID指定给组件。

照片美化组件界面布局文件是 tusdk_impl_component_edit_multiple_fragment.xml,放在 TuSDK/res/layout 目录下,建议用户修改界面的时候不要直接在该文件上做修改,而是把该文件复制到自己的项目下的 res/layout 目录中并重命名,这样可以防止将来升级 SDK 的时候造成覆盖。

option.setRootViewLayoutId(TuEditMultipleFragment.getLayoutId());

将处理结果保存到相册

option.setSaveToAlbum(true);

将处理结果保存到临时文件

option.setSaveToTemp(true);

在控制器结束后自动删除临时文件

option.setAutoRemoveTemp(true);

禁用操作步骤记录

如果想去除编辑界面上代表前进和后退的两个按钮,可以禁用操作步骤记录,这样用户就不能再回退到上一次编辑效果。

option.setDisableStepsSave(true);

设置最大输出图片边长

默认不限制最大输出图片边长,使用该属性设置输出图片的最大边长,图片长宽将按照原图片长宽比率变化。

option.setLimitSideSize(800);

限制图片最大输出尺寸为设备屏幕尺寸

默认不限制最大输出图片尺寸,使用该属性限制最大输出图片尺寸为屏幕大小,如果设置了 LimitSideSize, 将忽略此属性。

option.setLimitForScreen(true);

禁用功能选项

照片美化组件中的八个功能选项可以选择启用或者禁用,可以使用下面的设置禁用贴纸功能:

option.disableModule(TuEditActionType.TypeSticker);

配置功能选项

照片美化组件中包括

  • 贴纸
  • 文字
  • 滤镜
  • 美颜
  • 裁切
  • 涂抹
  • 调整
  • 模糊
  • 光圈
  • HDR
  • 圣光
  • 暗角
  • 锐化

所有的功能选项均可以设置开启或者禁用,可以使用下面方式禁用贴纸功能选项:

component.componentOption().editMultipleOption().disableModule(TuEditActionType.TypeSticker);

同时也可以在组件打开之前对每个功能选项的属性分别进行设置,下面列出几个常用到的配置。

只使用指定的滤镜

 // 需要显示的滤镜名称列表 (如果为空将显示所有自定义滤镜, 可选)
 String[] filters = {
 "SkinNature", "SkinPink", "SkinJelly", "SkinNoir", "SkinRuddy", "SkinPowder", "SkinSugar"};

 component.componentOption().editFilterOption().setFilterGroup(Arrays.asList(filters));

禁用滤镜历史记录

 component.componentOption().editFilterOption().setEnableFiltersHistory(false);

显示指定的裁切比例类型

裁剪组件提供了八种比例类型,分别是:
ratio_orgin ratio_1_1 ratio_2_3 ratio_3_4 ratio_9_16
ratio_3_2 ratio_4_3 ratio_16_9

默认只显示了前五种比例;如果想要显示所有的比例类型,可以如下设置:

 component.componentOption().editCuterOption().setRatioTypeList(RatioType.ratioTypes);

同时也支持设置裁切界面只显示指定的一个或多个比例类型,比如设置只显示 9:16 类型和 1:1 类型:

 component.componentOption().editCuterOption().setRatioTypeList(new int[]{RatioType.ratio_9_16, RatioType.ratio_1_1});

裁切界面禁用镜像或旋转功能

可以设置裁切界面禁用镜像或旋转功能,如下:

 // 禁用镜像功能
 component.componentOption().editCuterOption().setEnableMirror(false);
 // 禁用旋转功能
 component.componentOption().editCuterOption().setEnableTrun(false);

获取编辑结果

照片美化组件可以通过设置不同的属性管理编辑结果的输出方式,可以通过下面三种方式获得编辑后的结果:

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

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

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

获取编辑结果的 Bitmap 对象

需要进行如下设置:

// 是否保存到相册
component.componentOption().editMultipleOption().setSaveToAlbum(false);
// 是否保存到临时文件
component.componentOption().editMultipleOption().setSaveToTemp(false);

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

随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment) 方法中使用 result.image 获取图片的 Bitmap 对象。

获取编辑结果的存储路径

需要进行如下设置:

// 是否保存到相册
component.componentOption().editMultipleOption().setSaveToAlbum(true);
// 是否保存到临时文件
component.componentOption().editMultipleOption().setSaveToTemp(false);

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

同时也可以设置

component.componentOption().editMultipleOption().setSaveToAlbumName("TuSDKEdit"); 

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

同时,此方法还可以使您获取到处理后的照片的其他属性,比如拍摄时间、文件长宽等,具体可以参看 ImageSqlInfo 类的API。

随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment) 方法中使用 result.imageSqlInfo.path 获取图片路径。

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

需要进行如下设置:

// 是否保存到相册
component.componentOption().editMultipleOption().setSaveToAlbum(false);
// 是否保存到临时文件
component.componentOption().editMultipleOption().setSaveToTemp(true);

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

// 自动清理临时文件
component.componentOption().editMultipleOption().setAutoRemoveTemp(true);

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

随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment) 方法中使用 result.imageFile 获取临时文件。

  • 开启组件
  • 常见属性设置
  • 配置功能选项
  • 获取编辑结果
  • 在线技术支持
  • 专业售前售后团队
  • 版本定期更新
  • 全方位解决方案

商务合作

  • 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