faceUnity
概述
faceUnity封装了相芯科技的SDK,提供了美颜处理,创建道具,移除道具,更换道具,滤镜,美白磨皮等一系列影像处理功能
附加模块 附加模块制作
下载 faceUnityAppendix 模块 zip 包并解压,把 zip 包内 target 目录下的authpack.h文件替换.该文件获取需要通过发送邮件至marketing@faceunity.com 咨询并获取,此文件是以证书形式获取,获取后将证书改名为authpack.h,用新的authpack.h替换target目录下面的旧文件。然后重新压缩为 zip 包文件上传自定义模块,云编译时勾选该模块。
init
初始化(仅android支持)
init({params}, callback(ret))
params
v3Path:
- 类型:字符串类型
- 描述:v3.bundle文件路径;支持fs、widget。
authdata:
- 类型:字符串类型
- 描述:密钥数组,base64字符串;必须配置好密钥,SDK才能正常工作
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status:, //布尔类型
}
err:
- 类型:JSON对象
- 内部字段
{ msg:'', //错误信息 }
示例代码
var faceUnity = api.require('faceUnity');
faceUnity.init({
v3Path:'',
authdata:'',
},function(ret,err){
alert(JSON.stringify(ret));
})
可用性
Android系统
可提供的1.0.0及更高版本
open
打开
open({params}, callback(ret))
params
rect:
- 类型:JSON 类型
- 描述:(可选项)弹出模块的大小配置
- 默认值:见内部字段
- 内部字段:
{
x:0, //(可选项) 数字类型;控件左上角x坐标
y:0, //(可选项)数字类型;控件左上角y坐标
w: 100, //(可选项)数字类型;弹出模块的宽度;默认值:100
h: 180 //(可选项)数字类型;弹出模块的高度;默认值:180
}
beautyOn
- 类型:布尔类型
- 描述:是否开启美颜; (仅支持iOS)
- 默认:false
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)(仅android支持)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔类型
- 描述:(可选项)是否将模块视图固定到窗口上,不跟随窗口上下滚动(仅android支持)
- 默认:false
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
eventType: 'show', // 字符串类型;交互事件类型,取值范围如下:
// show:模块加载成功并显示在屏幕上的事件(show接口不会触发此事件)
// click:点击菜单列表项
index: 0 // 数字类型;点击目标对应菜单列表项的索引,仅当 eventType 为 click 时有效
}
示例代码
var name = api.require('faceUnity');
name.open({
rect:{
x:0,
y:0,
w:100,
h:100,
},
},function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
faceBeautification
美颜处理 (仅支持安卓)
faceBeautification({params}, callback(ret))
beautyOn
- 类型:布尔类型
- 描述:是否开启美颜;
- 默认:false
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: // 布尔类型;成功或失败
}
示例代码
var name = api.require('faceUnity');
name.faceBeautification(function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
creatItems
创建道具
creatItems({params}, callback(ret))
params
fileName:
- 类型:字符串类型
- 描述:道具文件的名称;(bundle类型的文件)(仅支持iOS)
filePath:
- 类型:字符串类型
- 描述:道具文件路径。(仅支持android)
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: // 布尔类型;成功或失败
item:, //数字类型;加载句柄,大于0为加载成功(仅android支持)
}
示例代码
var name = api.require('faceUnity');
name.creatItems({
fileName:'change_face'
filePath:'',
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
destructionItem
移除某个道具
destructionItem({params}, callback(ret))
params
index:
- 类型:数字类型
- 描述:数据的索引
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: // 布尔类型;成功或失败
}
示例代码
var name = api.require('faceUnity');
name.destructionItem({
index:0
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
destructionAllItem
移除所有道具
destructionAllItem({params}, callback(ret))
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: // 布尔类型;成功或失败
}
示例代码
var name = api.require('faceUnity');
name.destructionAllItem(function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
changeItem
更换某个道具
changeItem({params}, callback(ret))
params
index:
- 类型:数字类型
- 描述:数据的索引
fileName:
- 类型:字符串类型
- 描述:道具文件的名称;(bundle类型的文件)(仅iOS支持)
filePath:
- 类型;字符串类型
- 描述:道具文件路径,支持fs,widget(仅android支持)
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
status: // 布尔类型;成功或失败
newItem:, //数字类型;新句柄(仅android支持)
}
示例代码
var name = api.require('faceUnity');
name.changeItem({
fileName:'change_face',
index:0,
filePath:'',
}, function(ret) {
if (ret) {
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setFilter
设置滤镜
setFilter({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
filterName:
- 类型:字符串类型
- 描述:滤镜类型的名称
- 默认:'origin'
- origin - delta - electric - slowlived - tokyo - warm - ziran - danya - fennen - qingxin - hongrun
filterLevel:
- 类型:数字类型
- 描述:滤镜程度;该参数的取值范围为[0, 1],0为无效果
- 默认:1.0
示例代码
var name = api.require('faceUnity');
name.setFilter({
index:0,
filterName:'qingxin',
filterLevel:0.5
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setColorLevel
设置美白
setColorLevel({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
colorLevel:
- 类型:数字类型
- 描述:美白程度;该参数的推荐取值范围为0~1,0为无效果
- 默认:0.5
示例代码
var name = api.require('faceUnity');
name.setColorLevel({
index:0,
colorLevel:1
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setRedLevel
设置红润
setRedLevel({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
redLevel:
- 类型:数字类型
- 描述:红润程度;该参数的推荐取值范围为0~1,0为无效果
- 默认:0.5
示例代码
var name = api.require('faceUnity');
name.setRedLevel({
redLevel:1
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setExfoliat
设置磨皮
setExfoliat({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
blurLevel:
- 类型:数字类型
- 描述:指定磨皮程度。该参数的推荐exfoliatLevel取值范围为0.0~6.0,0.0为无效果,原则上不建议参数值大于6.0,不过如果超过6.0也将会继续加大磨皮效果
skinDetect:
- 类型:数字类型
- 描述:指定是否开启皮肤检测,开启后,将自动检测是否皮肤,是皮肤的区域将直接根据blurLevel指定的磨皮程度进行磨皮,非皮肤区域将减轻磨皮导致模糊的效果。该参数的推荐取值为0-1,0为无效果
nonshinBlurScale:
- 类型:数字类型
- 描述:指定开启皮肤检测后,非皮肤区域减轻磨皮导致模糊的程度。该参数范围是[0.0,1.0],0表示不磨皮,1表示完全磨皮,默认值为0.45。调整该参数需要先开启 skinDetect
heavyBlur:
- 类型:数字类型
- 描述:指定是否开启朦胧美肤功能。大于1开启朦胧美肤功能
blurBlendRatio:
- 类型:数字类型
- 描述:指定磨皮结果和原图融合率。该参数的推荐取值范围为0-1
示例代码
var name = api.require('faceUnity');
name.setExfoliat({
index:0,
blurLevel:3.0,
skinDetect:1,
nonshinBlurScale:1,
heavyBlur:1,
blurBlendRatio:0.5,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setEyeBright
设置亮眼
setEyeBright({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
eyeBright:
- 类型:数字类型
- 描述:亮眼程度;该参数的推荐取值范围为0~1,0为关闭该功能,0到1效果逐渐增强
- 默认:0.5
示例代码
var name = api.require('faceUnity');
name.setEyeBright({
eyeBright:1,
index:0
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setToothWhiten
设置美牙
setToothWhiten({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
toothWhiten:
- 类型:数字类型
- 描述:亮眼程度;该参数的推荐取值范围为0~1,0为关闭该功能,0到1效果逐渐增强
- 默认:0.5
示例代码
var name = api.require('faceUnity');
name.setToothWhiten({
toothWhiten:1,
index:0
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setBaseFaceShape
设置基本美型
setBaseFaceShape({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
faceShape:
- 类型:数字类型
- 描述:美型类别;支持四种基本美型
- 默认:3
- 0 //女神 - 1 //网红 - 2 //自然 - 3 //默认
faceShapeLevel:
- 类型:数字类型
- 描述:控制变化到指定基础脸型的程度;该参数的取值范围为[0, 1]。0为无效果,即关闭美型,1为指定脸型
- 默认:0
eyeEnlarging:
- 类型:数字类型
- 描述:控制眼睛大小;此参数受参数 faceShapeLevel 影响。该参数的推荐取值范围为[0, 1]。大于1为继续增强效果
- 默认:0
cheekThinning:
- 类型:数字类型
- 描述:控制脸大小;此参数受参数 faceShapeLevel 影响。该参数的推荐取值范围为[0, 1]。大于1为继续增强效果
- 默认:0
示例代码
var name = api.require('faceUnity');
name.setBaseFaceShape({
faceShape:0,
index:0,
faceShapeLevel:1,
eyeEnlarging:1,
cheekThinning:1
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setFaceShapeCheekThinning
设置高级美型---瘦脸
setFaceShapeCheekThinning({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
cheekThinning:
- 类型:数字类型
- 描述:瘦脸的程度;范围0 - 1
- 默认:0
示例代码
var name = api.require('faceUnity');
name.setFaceShapeCheekThinning({
cheekThinning:1,
index:0,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setFaceShapeEyeEnlarging
设置高级美型---大眼
setFaceShapeEyeEnlarging({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
eyeEnlarging:
- 类型:数字类型
- 描述:大眼的程度;范围0 - 1
- 默认:0
示例代码
var name = api.require('faceUnity');
name.setFaceShapeEyeEnlarging({
cheekThinning:1,
index:0,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setFaceShapeIntensityForehead
设置高级美型---额头调整
setFaceShapeIntensityForehead({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
intensityForehead:
- 类型:数字类型
- 描述:额头调整的程度;大于0.5 变大,小于0.5变小
- 默认:0.5
示例代码
var name = api.require('faceUnity');
name.setFaceShapeIntensityForehead({
intensityForehead:1,
index:0,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setFaceShapeIntensityChin
设置高级美型---下巴调整
setFaceShapeIntensityChin({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
intensityChin:
- 类型:数字类型
- 描述:下巴调整的程度;大于0.5 变大,小于0.5变小
- 默认:0.5
示例代码
var name = api.require('faceUnity');
name.setFaceShapeIntensityChin({
intensityChin:1,
index:0,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setFaceShapeIntensityNose
设置高级美型---瘦鼻
setFaceShapeIntensityNose({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
intensityNose:
- 类型:数字类型
- 描述:瘦鼻调整的程度;0为正常大小,大于0开始瘦鼻,范围0 - 1
- 默认:0
示例代码
var name = api.require('faceUnity');
name.setFaceShapeIntensityNose({
intensityNose:1,
index:0,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setFaceShapeIntensityMouth
设置高级美型---嘴型调整
setFaceShapeIntensityMouth({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
intensityMouth:
- 类型:数字类型
- 描述:嘴型调整的程度;大于0.5变大,小于0.5变小
- 默认:0.5
示例代码
var name = api.require('faceUnity');
name.setFaceShapeIntensityMouth({
intensityMouth:1,
index:0,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
changeFrames
美颜美型突变过渡效果
changeFrames({params})
params
index:
- 类型:数字类型
- 描述:数据的索引(仅iOS支持)
changeFrames:
- 类型:数字类型
- 描述:渐变所需要的帧数;0 渐变关闭 ,大于0开启渐变
示例代码
var name = api.require('faceUnity');
name.changeFrames({
changeFrames:1,
index:0,
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本