精易论坛

标题: E语言里ffmpeg如何实现文字折行 [打印本页]

作者: chenzhihua520    时间: 2022-8-23 00:54
标题: E语言里ffmpeg如何实现文字折行

上面文本1 下面文本2
像这样的视频输出ffmpeg

作者: 翎朗    时间: 2022-8-23 00:54
本帖最后由 翎朗 于 2022-8-23 08:24 编辑

给你写了个子程序,这样就可以了
  
子程序名返回值类型公开备 注
生成描述命令文本型 
参数名类 型参考可空数组备 注
描述文本型
每行字数整数型
描述起始高度整数型
每行间隔整数型
最多多少行整数型
变量名类 型静态数组备 注
描述数组文本型0
i整数型 
标题命令文本型 
文本_按字数分割 (描述, 每行字数, 描述数组)
如果真 (最多多少行 ≤ 0)
最多多少行 = 取数组成员数 (描述数组)
计次循环首 (取数组成员数 (描述数组), i)
如果真 (i > 最多多少行)
跳出循环 ()

标题命令 = 标题命令 + 文本_替换 (“,drawtext=fontfile=fonts/biaotihei.ttf:text='{content}':x=(w-tw)/2:y={high}:fontcolor=#ffffff:fontsize=70:bordercolor=#000000:borderw=3”, , , , “{content}”, 描述数组 [i], “{high}”, 到文本 (描述起始高度 + i × 每行间隔), , , , , , )
计次循环尾 ()
返回 (标题命令)



作者: 499248344    时间: 2022-8-23 03:34
我碰到过同样的问题, 我是这样解决的: 判断字数, 如果一行超过字数限制就重新用一条drawtext命令 每次都设置文字居中 完美解决问题
作者: chenzhihua520    时间: 2022-8-24 19:12
翎朗 发表于 2022-8-23 08:20
给你写了个子程序,这样就可以了
[e=3].版本 2

这个模块用的哪个




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4