更新时间 : 2021-02-22 09:31:17
License需要根据一些特定信息生成,根据网站指引获取。
使用SDK功能前必须注册合法的License,否则无法使用SDK。
License失效控制台会打印信息,可以检查控制台信息查看问题。
使用 SXTextCanvas 来生成包含文字内容的图片,通过属性设置来设置文字属性。可以通过saveToPath方法来保存生成的图片到指定路径。当然这一步也可以通过自己绘制生成文字内容的图片。
SXTextCanvas 绘制的文字可能会因为设置的宽高不足导致绘制不完整,可以调整字号以及大小来适配需求,也提供 adjustSize 方法来根据当前size自适应字体大小,文字最小支持到4号,最大为设置的字体大小。 SXTextCanvas 不做文字长度的自动裁剪与限制,所以有需求可以先裁剪文字到需要的长度再传入对象进行绘制。
调用SXTemplate里的方法来替换指定UIKey对应的素材,需要与模板设计相配合。
/**
* 根据UI key 来修改某个指定素材的文件路径
* @warning 该接口只有在commit之前调用有效
* @param filePath 新的文件路径
* @param uiKey 指定的UI key
* @return 是否修改成功
*/
-(BOOL)setFile:(NSString *)filePath forUIKey:(NSString *)uiKey;
SDK中不提供图片素材编辑的功能,只使用提供的图片进行渲染或者预览操作。图片素材的裁剪需要用户自己完成,demo提供部分裁剪的示例方式,并不代表是最佳实现方法。
从相册选取图片,demo中使用的是缩略图,可能会导致选取的图片模糊,用户可以自行调整图片选取方式,使用原图进行操作。SDK对此没有限制,但图片过大会影响速度,可以根据需求自行调节需要图片素材的大小。
传入SDK的图片即setReplaceableFilePaths 方法里传入路径所对应的图片,可以直接找到路径对应的图片查看是否与自己期望的一致。
选择视频素材,需要对视频素材进行编辑,可以使用SXVideoCompositor类。 比较典型的是修改transform即对视频素材进行旋转位移缩放,具体变化的计算可以参考demo。 下面是示例代码。
NSURL * sourceFile = [NSURL fileURLWithPath:@"source path"];
NSURL * outputFile = [NSURL fileURLWithPath:@"output path"];
SXVideoCompositor * videoCompositor = [[SXVideoCompositor alloc] init:sourceFile output:outputFile];
// 设置所需时间
[videoCompositor setOutputRange:CMTimeRangeMake(kCMTimeZero, CMTimeMakeWithSeconds(duration, 6000))];
// 设置音量
[videoCompositor setSourceVolume:0];
// 如果对视频的位置,尺寸进行了变换
[videoCompositor setOutputTransform:renderTransform];
[videoCompositor finish:VIDEO_EXPORT_PRESET_HIGH finishHandle:^(BOOL success) {
NSLog(success ? @"success":@"false");
}];
检查license是否可用,无效控制台会打印信息。
渲染失败的回调里会传入一个error做参数,可以查看失败的相关信息。
对模板进行优化,可以提高渲染速度也可以优化部分内存。可以参考下面的链接 模板渲染速度提升技巧
当出现内存警告时,可以取消渲染来保证程序的稳定。
对于低端机型,可用内存可能更少,尽可能减少视频文件作为素材。
对高清的视频进行预处理,减少后续渲染时所需要的内存也可以提高渲染速度。
License需要根据一些特定信息生成,根据网站指引获取。
使用SDK功能前必须注册合法的License,否则无法使用SDK。
License失效控制台会打印信息,可以检查控制台信息查看问题。
使用 SXTextCanvas 来生成包含文字内容的图片,通过属性设置来设置文字属性。可以通过saveToPath方法来保存生成的图片到指定路径。当然这一步也可以通过自己绘制生成文字内容的图片。
SXTextCanvas 绘制的文字可能会因为设置的宽高不足导致绘制不完整,可以调整字号以及大小来适配需求,也提供 adjustSize 方法来根据当前size自适应字体大小,文字最小支持到4号,最大为设置的字体大小。 SXTextCanvas 不做文字长度的自动裁剪与限制,所以有需求可以先裁剪文字到需要的长度再传入对象进行绘制。
调用SXTemplate里的方法来替换指定UIKey对应的素材,需要与模板设计相配合。
/**
* 根据UI key 来修改某个指定素材的文件路径
* @warning 该接口只有在commit之前调用有效
* @param filePath 新的文件路径
* @param uiKey 指定的UI key
* @return 是否修改成功
*/
-(BOOL)setFile:(NSString *)filePath forUIKey:(NSString *)uiKey;
SDK中不提供图片素材编辑的功能,只使用提供的图片进行渲染或者预览操作。图片素材的裁剪需要用户自己完成,demo提供部分裁剪的示例方式,并不代表是最佳实现方法。
从相册选取图片,demo中使用的是缩略图,可能会导致选取的图片模糊,用户可以自行调整图片选取方式,使用原图进行操作。SDK对此没有限制,但图片过大会影响速度,可以根据需求自行调节需要图片素材的大小。
传入SDK的图片即setReplaceableFilePaths 方法里传入路径所对应的图片,可以直接找到路径对应的图片查看是否与自己期望的一致。
选择视频素材,需要对视频素材进行编辑,可以使用SXVideoCompositor类。 比较典型的是修改transform即对视频素材进行旋转位移缩放,具体变化的计算可以参考demo。 下面是示例代码。
NSURL * sourceFile = [NSURL fileURLWithPath:@"source path"];
NSURL * outputFile = [NSURL fileURLWithPath:@"output path"];
SXVideoCompositor * videoCompositor = [[SXVideoCompositor alloc] init:sourceFile output:outputFile];
// 设置所需时间
[videoCompositor setOutputRange:CMTimeRangeMake(kCMTimeZero, CMTimeMakeWithSeconds(duration, 6000))];
// 设置音量
[videoCompositor setSourceVolume:0];
// 如果对视频的位置,尺寸进行了变换
[videoCompositor setOutputTransform:renderTransform];
[videoCompositor finish:VIDEO_EXPORT_PRESET_HIGH finishHandle:^(BOOL success) {
NSLog(success ? @"success":@"false");
}];
检查license是否可用,无效控制台会打印信息。
渲染失败的回调里会传入一个error做参数,可以查看失败的相关信息。
对模板进行优化,可以提高渲染速度也可以优化部分内存。可以参考下面的链接 模板渲染速度提升技巧
当出现内存警告时,可以取消渲染来保证程序的稳定。
对于低端机型,可用内存可能更少,尽可能减少视频文件作为素材。
对高清的视频进行预处理,减少后续渲染时所需要的内存也可以提高渲染速度。