tutu插件封装了TuSDK(涂图),是移动端图像处理的一站式解决方案,它全面覆盖相机拍照、图片编辑、人像美化、贴纸装饰、实时滤镜等需求。
使用本插件需要到官方网站,并申请开通图片编辑功能,注册应用并申请appSecret.
注意事项:
1.每个应用的包名(Bundle Identifier)、密钥、资源包(滤镜、贴纸等)三者需要匹配,否则将会报错
2.资源包使用的时候需要注意
下载 arcFacePublicAppendix原生插件zip包并解压
3.如果不进行替换,则会报错
4.因为iOS的特殊性,需要在应用打包或者自定义loader的时候勾选相机、相册、以及位置权限,否则会导致崩溃
5.android从1.0.3版本开始,要使用升级环境编译,固件要求Android 4.4 及其以上
配置 config.xml
文件:
使用此插件前需先配置 config.xml文件,方法如下:
名称:tutu
参数:appKey
配置示例:
```js
<feature name="tutu">
<param name="appKey" value="e65e2b0e2aedf52c-05-bujkr1" />
</feature>
```
字段描述:
** appKey**:(必须配置)在 涂图 开放平台创建的应用的 appKey
初始化tutu
init(param, callback(ret))
appSecret:
ret:
{
status: true, //布尔类型;初始化是否成功
}
var param = {
appSecret:'***********'
};
var tutu = api.require('tutu');
tutu.init(param, function(ret){
alert(JSON.stringify(ret));
});
Android系统(4.0及以上)
可提供的1.0.0及更高版本
打开相机
openCamera(param, callback(ret))
isSaveToTemp:
isSaveToAlbum:
avPostion:
flashMode:
enableFilters:
showFilterDefault:
groupFilterCellWidth:
filterBarHeight:
filterGroup:
saveLastFilter:
autoSelectGroupDefaultFilter:
enableFiltersHistory:
enableOnlineFilter:
displayFiltersSubtitles:
enableLongTouchCapture:
regionViewColor:
disableMirrorFrontFacing:
enableCaptureWithVolumeKeys:
displayGuideLine:
enableNormalFilter:
ratioType:
enablePreview:
enableFaceDetection:
waterMarkOption:
imgPath:'fs://' //(可选项) 字符串类型;图片路径;(android不支持widget,http) imgPath和markText二者必须要有一个被选;
markMargin:20 //(可选项) 数字类型;水印距离图片边距;默认值6
markPosition:'BottomRight' //(可选项) 字符串类型;水印位置,默认值:BottomRight;取值范围:BottomRight(右下角),BottomLeft(左下角),Center(居中显示),TopRight(右上角),TopLeft(左上角)
markText:'apicloud' //(可选项) 字符串类型;水印文字;imgPath和markText二者必须要有一个被选;
markTextColor:'#FFFFFF' //(可选项) 字符串类型;文字颜色;默认值:#FFFFFF
markTextPadding:2 //(可选项) 数字类型;文字图片间距;默认值:2
markTextPosition:‘Right’ //(可选项) 字符串类型;水印位置;默认值:Right;取值范围:Right(文字在右边),Left(文字在左边)
markTextShadowColor:'#000000' //(可选项) 字符串类型;文字阴影颜色;默认值:#000000
markTextSize:14 //(可选项) 数字类型;文字大小;
ret:
status:true; //布尔类型;返回状态
albumPath:'' //字符串;保存到相册的路径,当设置isSaveToAlbum:true时,albumPath会有值
imagePath:'' //字符串类型;临时文件路径
metadata:{} //json类型;图片EXIF信息, (android不支持)
filterCode:'' //字符串;滤镜代号(iOS不支持)
imgWidth: //数字类型;图片的宽(iOS不支持)
imgHeight: //数字类型;图片的高(iOS不支持)
createTime: //数字类型;图片创建的时间,单位毫秒;(android注意:当设置isSaveToAlbum:true时,albumPath会有值)
id: //数字类型;图片编号(iOS不支持)(android注意:当设置isSaveToAlbum:true时,albumPath会有值)
var param = {
showFilterDefault:true
};
var tutu = api.require('tutu');
tutu.openCamera(param, function(ret){
alert(JSON.stringify(ret));
});
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
编辑图片(单图编辑)
editPicture(params, callback(ret))
imgPath:
disableModules:
initModule:
skinValue
saveToAlbum:
saveToTemp:
ret
status:true; //布尔类型;返回状态
albumPath:'' //字符串;保存到相册的路径(ios上表示沙盒路径),当设置saveToAlbum:true时,albumPath会有值
imagePath:'' //字符串;临时文件路径,当设置saveToTemp:true时,imagePath会有值
imgWidth: //数字类型;图片的宽(ios不支持)
imgHeight: //数字类型;图片的高(ios不支持)
createTime: //数字类型;图片创建的时间,单位毫秒,当设置saveToAlbum:true时,createTime会有值
id: //数字类型;图片编号(ios不支持)
var param = {
imgPath:'/storage/emulated/0/DCIM/tuSDK/LSQ_20171128_111138585.jpg'
};
var tutu = api.require('tutu');
tutu.editPicture(param, function(ret){
alert(JSON.stringify(ret));
});
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
多图编辑
multiPictureEdit(callback(ret))
maxSelection:
saveToAlbum:
saveToTemp:
ret
status:true; //布尔类型;返回状态
imgPaths:[] //数组,路径集合(iOS不支持)
selectedPaths:''//数组,被选择路径的集合(android不支持)
albumPaths:[] //数组类型;被保存在相册的图片路径的集合,当设置saveToAlbum:true时,albumPath会有值(android不支持)
var tutu = api.require('tutu');
tutu.multiPictureEdit(function(ret){
alert(JSON.stringify(ret));
});
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
裁剪 + 滤镜组件
editAndCutPicture(callback(params,ret))
enableFilters:
enableFilterHistory:
enableOnlineFilter:
displayFilterSubtitles:
showResultPreview:
isRenderFilterThumb:
saveToAlbum:
saveToTemp:
cutSize:
{
w:640, //数字类型;宽度
h:640 //数字类型;高度
}
ret
status:true; //布尔类型;返回状态
albumPath:'' //字符串;保存到相册的路径,当设置
saveToAlbum:true时,albumPath会有值
imagePath:'' //字符串;临时图片的路径,当设置
saveToTemp:true时,imagePath会有值
filterCode:'' //字符串;滤镜代号,当设置saveToAlbum:true时,albumPath会有值
var tutu = api.require('tutu');
tutu.editAndCutPicture(function(ret){
alert(JSON.stringify(ret));
});
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
头像编辑
editAvatar(callback(params,ret))
filterGroup:
autoDismissWhenCompelted:
saveToAlbum:
saveToTemp:
ret
status:true; //布尔类型;返回状态
albumPath:'' //字符串;保存到相册的路径,当设置
saveToAlbum:true时,albumPath会有值
imagePath:'' //字符串;临时图片的路径,当设置
saveToTemp:true时,imagePath会有值
filterCode:'' //字符串;滤镜代号
createTime: //数字类型;图片创建的时间,单位毫秒,单位毫秒,当设置saveToAlbum:true时,createTime会有值
var tutu = api.require('tutu');
tutu.editAvatar(function(ret){
alert(JSON.stringify(ret));
});
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
裁剪+滤镜+贴纸组件
editAdvanced(callback(params,ret))
autoDismissWhenCompelted:
autoPushViewController:
saveToAlbum:
saveToTemp:
ret
status:true; //布尔类型;返回状态
albumPath:'' //字符串;保存到相册的路径,当设置
saveToAlbum:true时,albumPath会有值
imagePath:'' //字符串;临时图片的路径,当设置
saveToTemp:true时,imagePath会有值
filterCode:'' //字符串;滤镜代号
createTime: //数字类型;图片创建的时间,单位毫秒,单位毫秒,当设置saveToAlbum:true时,createTime会有值
var tutu = api.require('tutu');
tutu.editAvatar(function(ret){
alert(JSON.stringify(ret));
});
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
打开相册
openAlbum(callback(ret))
autoDismissWhenCompelted:
ret
status:true; //布尔类型;返回状态
imgPath:'' //字符串,图片路径
var tutu = api.require('tutu');
tutu.openAlbum(function(ret){
alert(JSON.stringify(ret));
});
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
打开多选相册
openMultiAlbum(params, callback(ret))
maxCount
类型:数字
描述:(可选项)最多选择的数量(maxCount <= 9)
默认值: 9
autoDismissWhenCompelted:
ret
status:true; //布尔类型;返回状态
imgPaths:[] //数组,图片路径
var tutu = api.require('tutu');
tutu.openMultiAlbum(function(ret){
alert(JSON.stringify(ret));
});
iOS系统,Android系统(4.0及以上)
可提供的1.0.0及更高版本
编辑图片直接可以进到指定功能 此接口仅支持iOS,如果安卓想使用此功能,请使用editPicture接口
editPictureSpecifiedFunction(params, callback(ret))
imgPath:
initModule:
saveToAlbum:
saveToTemp:
ret
status:true; //布尔类型;返回状态
albumPath:'' //字符串;保存到相册的路径(ios上表示沙盒路径);当saveToAlbum为 true时,则返回该参数
imagePath:'' //字符串;临时图片的路径,当设置
saveToTemp:true时,imagePath会有值
var param = {
imgPath:''
};
var tutu = api.require('tutu');
tutu.editPictureSpecifiedFunction(param, function(ret){
alert(JSON.stringify(ret));
});
iOS系统
可提供的1.0.0及更高版本