更新时间 : 2021-11-09 17:46:29
贴纸管理类,template commit之后可以获取,用来增加删除和修改贴纸。
贴纸的坐标以模板左上角为原点,是模板实际宽高的坐标系,与预览SurfaceView上的坐标不同,使用手势等操作时需要根据scale转换
预览暂停时修改贴纸内容后要自动刷新画面需要提前调用SXStickerManager#setPlayer方法传入player
使用SXStickerManager#addSticker方法,传入贴纸资源包解压后的路径,返回贴纸的ID,之后对贴纸的所有操作都需传入贴纸ID
获取置顶位置贴纸 SXStickerManager#getStickerAtPoint(float x, float y); (x, y)为模板中的坐标
获取贴纸边框顶点坐标数组 getStickerBoundingBox 返回float[8],是贴纸坐标,在界面上显示时需根据surface的scale进行转换,详见demo
删除贴纸 removeSticker(String stickerId);
贴纸可修改内容暂时支持Meida类型(图片,视频)和Text类型(实际为画成图片后传入路径),通过config.json解析,可参考标准模板的解析,替换素材的 index 是这个素材在可替换素材assets中的排序。
SXStickerManager#replaceSource(String stickerId, int index, String sourcePath);
Text类型修改需要使用SXTextCanvas画成图片后调用上面方法的重载函数,传入图片路径,最后一个参数isMedia传false,参考demo
变换分为对贴纸本身的操作和对指定素材的操作
贴纸变换
setStickerPosition 设置贴纸位置
setStickerScale 设置贴纸缩放
setStickerRotation 设置贴纸旋转
(以上三个方法有对应的get方法)
stickerTranslate 使贴纸位移 x, y
stickerRotate 使贴纸以参数(px, py)为中心旋转一个角度
stickerScale 使贴纸以(px,py)为中心x轴缩放scaleX倍,y轴缩放scale倍
素材变换需传入素材的索引,文字类型不支持变换
sourceTranslate
sourceScale
sourceRotate
贴纸管理类,template commit之后可以获取,用来增加删除和修改贴纸。
贴纸的坐标以模板左上角为原点,是模板实际宽高的坐标系,与预览SurfaceView上的坐标不同,使用手势等操作时需要根据scale转换
预览暂停时修改贴纸内容后要自动刷新画面需要提前调用SXStickerManager#setPlayer方法传入player
使用SXStickerManager#addSticker方法,传入贴纸资源包解压后的路径,返回贴纸的ID,之后对贴纸的所有操作都需传入贴纸ID
获取置顶位置贴纸 SXStickerManager#getStickerAtPoint(float x, float y); (x, y)为模板中的坐标
获取贴纸边框顶点坐标数组 getStickerBoundingBox 返回float[8],是贴纸坐标,在界面上显示时需根据surface的scale进行转换,详见demo
删除贴纸 removeSticker(String stickerId);
贴纸可修改内容暂时支持Meida类型(图片,视频)和Text类型(实际为画成图片后传入路径),通过config.json解析,可参考标准模板的解析,替换素材的 index 是这个素材在可替换素材assets中的排序。
SXStickerManager#replaceSource(String stickerId, int index, String sourcePath);
Text类型修改需要使用SXTextCanvas画成图片后调用上面方法的重载函数,传入图片路径,最后一个参数isMedia传false,参考demo
变换分为对贴纸本身的操作和对指定素材的操作
贴纸变换
setStickerPosition 设置贴纸位置
setStickerScale 设置贴纸缩放
setStickerRotation 设置贴纸旋转
(以上三个方法有对应的get方法)
stickerTranslate 使贴纸位移 x, y
stickerRotate 使贴纸以参数(px, py)为中心旋转一个角度
stickerScale 使贴纸以(px,py)为中心x轴缩放scaleX倍,y轴缩放scale倍
素材变换需传入素材的索引,文字类型不支持变换
sourceTranslate
sourceScale
sourceRotate