首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MoviePy动画文本

MoviePy动画文本
EN

Stack Overflow用户
提问于 2021-07-11 06:15:39
回答 2查看 303关注 0票数 0

我怎样才能让文本继续,而不是停在左边?我看不出我使用的方法有什么问题。我想我在动画中使用了正确的公式。

代码语言:javascript
复制
from moviepy.editor import *

# Load video
video = VideoFileClip("auto.mp4")

# Video lenght
duration = video.duration

# Video size
w, h = video.size

# Load text from txt
f = open('data.txt', 'r')
data = f.read().replace('\n', '')

# Text for video
txt = (TextClip(data, fontsize=50, font='Amiri-regular',
                color='white')
       .set_duration(duration))

# Transparent text background
txt_col = txt.on_color(size=(video.w + txt.w, txt.h - 10),
                       color=(0, 0, 0), pos=(6, 'center'), col_opacity=0.8)

# Animate text
txt_mov = txt_col.set_pos(lambda t: (max(w / w, int(w - 0.5 * w * t)),
                                     max(5.4 * h / 6, int(0 * t))))

# Overlay text on video
result = CompositeVideoClip([video, txt_mov])
# Render video
result.write_videofile("test.mp4")
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-11 07:02:26

代码在我使用

代码语言:javascript
复制
 int(w - 0.5 * w * t)

而不是

代码语言:javascript
复制
 max(w/w, int(w - 0.5 * w * t))

所以max(w/w, ...)停止了动画

票数 0
EN

Stack Overflow用户

发布于 2021-10-26 23:55:02

试试这个,你会喜欢的:

代码语言:javascript
复制
#for ticker remove -0.2
 
max(w / 2.5, int(-0.2 * w * t)),  
max(h * 4 / 10, int(10 * t)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68331929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档