Animate
(clip, int start_frame, int end_frame, string filtername,
start_args, end_args)
ApplyRange
(clip, int start_frame, int end_frame, string
filtername, args)
Animate
è un meta-filtro che determina i propri parametri filter
variando continuamente gli argomenti. Al frame start_frame e precedenti,
filter
e' valorizzato con gli argumenti dati come start_args. Al frame end_frame
e successivi, filter e' valorizzato con gli argumenti dati come end_args.
Nel mezzo, gli argumenti sonointerpolati linearmente per una transizione dolce.
ApplyRange
e' un caso speciale di Animate
dove start_args
= end_args, ed e' presente dalla v2.51. Puņ essere usato quando si vuole applicare
un certo filtro ad un intervallo di frames.
Altra differenza rispetto ad Animate
č che args NON puņ contenere una clip. A
partire dalla v2.53 supporta l'audio, e start_frame puņ essere uguale a end_frame
(in modo tale che venga elaborato UN SOLO frame).
ll filtro deve essere compreso fra "virgolette" (si tratta di una
stringa), e le due liste di argomenti non sono racchiuse fra parentesi. Le stringhe
ed i clips video non possono essere interpolate, e quindi devono essere identiche
nelle due liste di argomenti. Con questo filtro non si possono usare notazioni
OOP (Object Oriented Programming) o last
impliciti , anche se il
filtro indicato come argumento filtername normalmente lo consentirebbe.
Il filtro non gestisce correttamente la traccia audio, sicché non ne consiglio l'uso con filtri che modificano la traccia audio. E per l'amor di Dio fate in modo che i parametri iniziali e finali non producano dimensioni del frame diverse.
Gli argumenti filtername possono essere anche Animate
stesso se si desidera
una interpolazione quadratica anzichè lineare,ma non sto a pensarci troppo :
potrebbe scoppiarmi il cervello.
# Come produrre una scrolling version del video "Version" : ver = Version() return Animate(0,149,"Crop", ver,0,0,64,32, ver,316,0,64,32) # analogamente: ver = Version() return Animate(ver,0,149,"Crop", 0,0,64,32, 316,0,64,32) # Fade al bianco AviSource("E:\pdwork\DO-Heaven.AVI") Animate(100,200,"Levels", 0,1,255,0,255, 0,1,255,255,255) # Produrre uno zoom graduale nel centro di un video 320x240 , partendo con ingrandimento # 1:1 al frame 100 e terminando con un ingrandimento 4:1 # al frame 200 clip = AviSource("E:\pdwork\DO-Heaven.AVI") Animate(100,200,"BicubicResize",clip,320,240,0,0,320,240, clip,320,240,120,90,80,60) # Zoomare "Hello, World!" al centro di un video 320x240 Animate(0,48,"Subtitle", last,"Hello, World!",160,120,0,99999,"Arial",0, \ last,"Hello, World!",25,130,0,99999,"Arial",48) ver = Version() return ver.ApplyRange(0,149,"Crop", 158,0,64,32) AviSource("E:\pdwork\DO-Heaven.AVI").BicubicResize(320,240) ApplyRange(0,48,"Subtitle", "Hello, World!",25,130,0,99999,"Arial",48) #oppure: clip = AviSource("E:\pdwork\DO-Heaven.AVI").BicubicResize(320,240) ApplyRange(clip, 0,48,"Subtitle", "Hello, World!",25,130,0,99999,"Arial",48)
$Date: 2004/09/01 19:35:34 $