使用下面代码创建组件委托,并将得到的委托对象传递给获取组件对象时调用的 avatarCommponent()
方法。
// 组件委托
TuSdkComponentDelegate delegate = new TuSdkComponentDelegate()
{
@Override
public void onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
{
TLog.d("onAvatarComponentReaded: %s | %s", result.imageFile, error);
}
};
组件对象使用 TuSdkGeeV1 类中的 avatarCommponent()
方法获得:
avatarCommponent(Activity activity, TuSdkComponentDelegate delegate)
如下面代码所示:
TuAvatarComponent component = TuSdkGeeV1.avatarCommponent(activity, new TuSdkComponentDelegate()
{
@Override
public void onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
{
TLog.d("onAvatarComponentReaded: %s | %s", result.imageFile, error);
}
});
获得组件对象之后调用该对象的 showComponent()
方法可以开启组件,同时也可以设置组件执行完成后自动关闭,如下代码所示:
// 在组件执行完成后自动关闭组件
component.setAutoDismissWhenCompleted(true)
// 开启组件
.showComponent();
头像设置组件可以选择拍照或者从相册中选取图片,最后再使用裁切组件编辑图片,因此头像组件可以对以下选项进行配置:
相册列表选项使用component.componentOption().albumListOption()
来配置,比如可以用来设置打开相册后自动跳转到某一个相册中:
component.componentOption().albumListOption().setDisableAutoSkipToPhotoList(true);
照片列表选项使用component.componentOption().photoListOption()
来配置,比如可以用来设置当相册为空时默认显示的界面:
component.componentOption().photoListOption().setEmptyViewLayouId(layout_id);
相机组件选项使用component.componentOption().cameraOption()
来配置,可以配置在相机组件的使用文档中介绍的各个配置选项,比如设置拍摄的照片保存到相册:
component.componentOption().cameraOption().setSaveToAlbum(true);
裁切界面选项使用component.componentOption().editTurnAndCutOption()
来配置,比如设置编辑后的图片保存到相册:
component.componentOption().editTurnAndCutOption().setSaveToAlbum(true);
头像设置组件可以通过设置不同的属性管理编辑结果的输出方式,可以通过下面三种方式获得编辑后的结果:
获取图片的 Bitmap 对象,此方式将不保存图片
获取图片的存储路径,此方式会将图片保存在相册中
将图片保存在临时文件中,并获取临时文件
需要进行如下设置:
// 是否保存到相册
component.componentOption().editTurnAndCutOption().setSaveToAlbum(false);
// 是否保存到临时文件
component.componentOption().editTurnAndCutOption().setSaveToTemp(false);
该方式将不会保存处理结果。
随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
方法中使用 result.image
获取图片的 Bitmap 对象。
需要进行如下设置:
// 是否保存到相册
component.componentOption().editTurnAndCutOption().setSaveToAlbum(true);
// 是否保存到临时文件
component.componentOption().editTurnAndCutOption().setSaveToTemp(false);
该方式会将处理结果保存到相册中。
同时也可以设置
component.componentOption().editTurnAndCutOption().setSaveToAlbumName("TuSDKEdit");
将图片保存到名称为 TuSDKEdit
的相册中。
同时,此方法还可以使您获取到处理后的照片的其他属性,比如拍摄时间、文件长宽等,具体可以参看 ImageSqlInfo 类的API。
随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
方法中使用 result.imageSqlInfo.path
获取图片路径。
需要进行如下设置:
// 是否保存到相册
component.componentOption().editTurnAndCutOption().setSaveToAlbum(false);
// 是否保存到临时文件
component.componentOption().editTurnAndCutOption().setSaveToTemp(true);
该方式将会把处理结果保存到临时文件,同时也可以设置
// 自动清理临时文件
component.componentOption().editTurnAndCutOption().setAutoRemoveTemp(true);
这样在处理完成之后将会自动删除临时文件。
随后可以在所设置的组件委托中的 onComponentFinished(TuSdkResult result, Error error, TuFragment lastFragment)
方法中使用 result.imageFile
获取临时文件。
©2019-2024 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 浙公网安备33010602001649号