創作活動報告スレ

葉っぱ天国 > 創作 > スレ一覧
94:ぽ:2024/08/23(金) 17:31

from PIL import Image, ImageDraw, ImageFont
import cv2
import numpy as np

# 文字列と設定
text = "これは右から左に流れる字幕のサンプルです。"
font_path = "/path/to/your/font.ttf" # フォントファイルのパス
font_size = 50
font = ImageFont.truetype(font_path, font_size)
text_width, text_height = font.getsize(text)

# 映像の設定
video_width = 640
video_height = 100
fps = 30
duration = 5 # 秒
total_frames = fps * duration

# 映像の保存先
output_path = 'output_video.mp4'
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(output_path, fourcc, fps, (video_width, video_height))

# 初期のx座標
x_position = video_width

for i in range(total_frames):
# 画像を作成
img = Image.new('RGB', (video_width, video_height), color = (0, 0, 0))
d = ImageDraw.Draw(img)

# 文字を描画
d.text((x_position, (video_height - text_height) // 2), text, font=font, fill=(255, 255, 255))

# Pillow画像をOpenCV形式に変換
cv_img = np.array(img)
cv_img = cv2.cvtColor(cv_img, cv2.COLOR_RGB2BGR)

# 映像にフレームを追加
out.write(cv_img)

# 文字のx座標を左に移動
x_position -= 5

# テキストが完全に画面外に出たらループを終了
if x_position + text_width < 0:
break

# 映像を終了し、ファイルに保存
out.release()
cv2.destroyAllWindows()


全部 <前100 次100> キーワード
名前 メモ