涂图

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

主题包基础使用

基础介绍

TuSDKUIGeeV2 是图像 SDK 2.6.0 版本新增的主题包,主要包含了「相机组件」、「多选相册组件」和「多图编辑组件」,该主题包是一个完整的功能套件,请不要拆分使用。

下面文档以 Demo 代码为例,展示了主题包的基本调用方法,最好和 Demo 中的示例源码配合查阅以达到最好的效果。

多选相册连接多图编辑

设置组件回调方法

使用下面的代码指定组件的回调方法,当图片编辑完成之后会自动调用这个回调,用户可以在这个回调方法中获取编辑后的结果:

TuSdkComponentDelegate mDelegate = new TuSdkComponentDelegate()
{
    @Override
    public void onComponentFinished(TuSdkResult result, Error error,
            TuFragment lastFragment)
    {
        //  在这里使用 result.images 获取编辑后的图片结果
        TLog.d("PackageComponentSample onComponentFinished: %s | %s", result.images, error);
    }
};

获取组件对象

可以使用 TuSdkGeeV2 类下的 richEditCommponent 方法获取组件对象,该方法有两个重载版本,分别是:

public static TuRichEditComponent richEditCommponent(Activity activity, TuSdkComponentDelegate delegate)

和

public static TuRichEditComponent richEditCommponent(TuFragment fragment, TuSdkComponentDelegate delegate)

即用户传入 Activity 或是 TuFragment 的实例都可;第二个参数是指定的组件的代理回调,这里将上一步获得的回调方法实例传给该方法即可。

调用示例如下:

TuRichEditComponent comp =  TuSdkGeeV2.richEditCommponent(YourActivity.this, mDelegate);

开启组件

在上一步中获得了组件实例 comp 之后,就可以调用方法开启组件了,同时也可以设置组件执行完成后是否自动关闭,示例代码如下:

// 操作完成后是否自动关闭页面
comp.setAutoDismissWhenCompleted(true)
// 显示组件
    .showComponent();

传入图片地址到多图编辑

除了可以在多选相册选择图片传给多图编辑组件之外,SDK 还提供了一种方式,使用户可以直接将图片的地址传给多图编辑组件。

获取组件对象

这一步可以参考上一节「多选相册连接多图编辑」中的「设置组件回调方法」和「获取组件对象」这两个步骤,使用方法完全一样。

传入图片地址

可以将已经获取到的图片的地址放进 ImageSqlInfo 对象中,并将 ImageSqlInfo 对象放进 TuSdkResult 对象中,最后将该 TuSdkResult 对象传入开启组件的方法,如下:

TuSdkResult result = new TuSdkResult();

List<ImageSqlInfo> list = new ArrayList<ImageSqlInfo>();

ImageSqlInfo info = new ImageSqlInfo();
info.path = "/storage/emulated/0/DCIM/Camera/test.jpg";
list.add(info);

result.images = list;

开启组件

最后将上一步中获取到的 TuSdkResult 对象传入开启组件的方法中,如下:

comp.openMultipleEditComponentWithResult(result);

到此即开启了多图编辑组件界面。

常见属性设置

多选相册的配置

设置打开相机时是否需要关闭相册

打开多选相册中带的相机时可以指定是否同时关闭相册界面

// 设置打开相机时是否需要关闭相册,(默认: false)
comp.componentOption().albumMultipleComponentOption().setCloseAlbumWhenOpenCamera(true);

设置多选相册一次选择的最大照片数量

// 一次选择的最大照片数量 (默认: 3,0 < n <= 9)
comp.componentOption().albumMultipleComponentOption().albumListOption().setMaxSelection(9);

相机的配置

设置是否开启拍照后预览

// 是否开启拍照后预览 (默认: false)
comp.componentOption().cameraOption().setEnablePreview(true);

多图编辑组件的配置

设置最大编辑数量

// 设置最大编辑数量 (默认: 9,0 < n <= 9)
comp.componentOption().editMultipleComponentOption().setMaxEditImageCount(9);

设置没有改变的图片是否保存

在编辑完图片并点击完成按钮之后,可以指定是否保存那些没有做修改的图片

// 设置没有改变的图片是否保存 (默认: false)
comp.componentOption().editMultipleComponentOption().setEnableAlwaysSaveEditResult(false);

设置编辑时是否支持追加图片

指定在多图编辑界面是否支持追加图片

// 设置编辑时是否支持追加图片 (默认: true)
comp.componentOption().editMultipleComponentOption().setEnableAppendImage(true);

配置功能模块选项

多图编辑组件为用户提供了 6 种功能模块,分别是:

  • 编辑
  • 贴纸
  • 滤镜
  • 美颜
  • 调整
  • 涂抹

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

comp.componentOption().editMultipleComponentOption().editMultipleOption().disableModule(TuEditActionType.TypeFilter);

其中「编辑」模块中又包括了四种子模块,分别是:

  • 裁切
  • 旋转
  • 模糊
  • 光圈

同样可以设置开启或禁用这写模块,比如可以使用下面方式禁用光圈子模块:

comp.componentOption().editMultipleComponentOption().editOption().disableModule(TuEditActionType.TypeAperture);

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

设置滤镜模块

在滤镜模块中设置只显示指定的滤镜项,如下:

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

comp.componentOption().editMultipleComponentOption().editFilterOption().setFilterGroup(Arrays.asList(filters));

设置涂抹模块

指定涂抹的默认笔刷大小

//  默认的笔刷大小 (默认: SizeType.MediumBrush,中等粗细)
comp.componentOption().editMultipleComponentOption().editSmudgeOption().setDefaultBrushSize(SizeType.LargeBrush);

指定最大允许撤销的次数

// 允许撤销的次数 (默认: 5)
comp.componentOption().editMultipleComponentOption().editSmudgeOption().setMaxUndoCount(5);

设置是否记住用户最后一次使用的笔刷

// 记住用户最后一次使用的笔刷 (默认: false)
comp.componentOption().editMultipleComponentOption().editSmudgeOption().setSaveLastBrush(true);

获取编辑结果

多图编辑组件可以通过设置不同的属性管理编辑结果的输出方式,可以通过下面两种方式获得编辑后的结果:

  • 将图片保存在相册中,并获取图片的存储路径(默认方式)
  • 将图片保存在临时文件中,并获取临时文件路径

这两种结果都是在组件的回调方法 onComponentFinished(TuSdkResult result, Error error,TuFragment lastFragment)中获取。

获取编辑结果的存储路径

这是多图编辑组件的默认获取图片的方式,即组件默认设置了将图片保存到相册,如下:

// 保存到系统相册
comp.componentOption().editMultipleComponentOption().editMultipleOption().setSaveToAlbum(true);

此时用户不用做任何设置即可在结果回调方法中获取编辑后的图片的存储路径。

编辑完成后在回调方法中根据 result.images 参数获取结果图片的路径,如下:

for (ImageSqlInfo info : result.images)
{
    // 方式1:直接通过 ImageSqlInfo 生成 Bitmap
    Bitmap mImage = BitmapHelper.getBitmap(info, true); 

    // 方式2:通过路径获取文件
    File file = new File(info.path);
}

可以看到,有两种方式可以获取结果,一是直接获取 Bitmap 对象,二是先使用info.path属性获取图片保存在相册中的路径,然后再获取其 File 对象;

同时,ImageSqlInfo 类还可以使用户获取到处理后的照片的其他属性,比如拍摄时间、图片宽高等,具体可以参看 ImageSqlInfo 类的 API 文档。

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

需要做如下设置:

// 保存到临时文件 (默认不保存, 处理完成后将自动清理原始图片)
comp.componentOption().editMultipleComponentOption().editMultipleOption().setSaveToTemp(true);

编辑完成后组件默认会把临时文件清理掉,如果想要保留临时文件可以如下设置:

// 是否在编辑完成后自动删除临时文件
comp.componentOption().editMultipleComponentOption().editMultipleOption().setAutoRemoveTemp(false);

同获取编辑结果的存储路径类似,编辑完成后可以在回调方法中根据 result.images 参数获取结果图片的路径,如下:

for (ImageSqlInfo info : result.images)
{
    // 方式1:直接通过 ImageSqlInfo 生成 Bitmap
    Bitmap mImage = BitmapHelper.getBitmap(info, true); 

    // 方式2:通过路径获取文件
    File file = new File(info.path);
}

可以看到,获取方式跟将图片保存到相册时的获取方式大致一样,只不过将图片保存到相册中时使用info.path获取到的是图片在相册中的路径,而将图片保存到临时文件中时使用info.path获取到的是临时文件的路径。

  • 基础介绍
  • 多选相册连接多图编辑
  • 传入图片地址到多图编辑
  • 常见属性设置
  • 配置功能模块选项
  • 获取编辑结果
  • 在线技术支持
  • 专业售前售后团队
  • 版本定期更新
  • 全方位解决方案

商务合作

  • 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