0
這裏是一個非常簡單的函數,我試圖在gif圖像上繪製一個半徑變化的圓。我可以用我的test_clip函數成功繪製一個靜態的紅色圓圈,但我需要線索如何合併make_frame(t)函數,以便達到所需的結果:在gif或視頻上改變半徑的圓。我在這裏使用Gizeh模塊。謝謝。繪製一個半徑變化的圓形
import gizeh
import moviepy.editor as mpy
import numpy as np
W,H = 128,128 # width, height, in pixels
duration = 2 # duration of the clip, in seconds
def make_frame(t):
surface = gizeh.Surface(W,H, bg_color=(255,255,255))
radius = W*(1+ (t*(duration-t))**2)/6
circle = gizeh.circle(radius, xy = (W/2,H/2), fill=(1,0,0))
circle.draw(surface)
return surface.get_npimage()
clip = mpy.VideoClip(make_frame, duration=duration)
clip.write_gif('example1.gif',fps=15, opt="OptimizePlus", fuzz=10)
def test_clip(clip):
w, h = clip.size
def fl(im):
surface = gizeh.Surface.from_image(im)
circle = gizeh.circle(r=30, xy=[w/2,h/2], fill=(1,0,0))
circle.draw(surface)
return surface.get_npimage()
return clip.fl_image(fl)
im = mpy.VideoFileClip("example10.gif")
cc = im.fx(test_clip)
cc.write_gif("test.gif")
您是否有一個循環結構? –