linuxyouxia |
2011-12-16 02:29 |
[分享]AvsGenStr: 同时将多个Avisynth变量转成字符串
闲着无聊 下载:http://dl.dbank.com/c0c8wuws3r avs脚本里看到过这样的写法
- mt_lutxy(tmp, method, yexpr="x y == x x x y - abs "+string(Szrp)+" / 1 "+string(Spwr)+" / ^ "+string(Szrp)+" * "+string(str)+" * x y - x y - abs / * x y - 2 ^ "
\ +string(Szrp)+" 2 ^ "+string(SdmpLo)+" + * x y - 2 ^ "+string(SdmpLo)+" + "+string(Szrp)+" 2 ^ * / * 1 " \ +string(SdmpHi)+" 0 == 0 "+string(Szrp)+" "+string(SdmpHi)+" / 4 ^ ? + 1 "+string(SdmpHi)+" 0 == 0 x y - abs "+string(SdmpHi)+" / 4 ^ ? + / * + ?",U=1,V=1)
看着不是很舒服,于是写了个插件,能够这样写
- yexp = AGS("x y == x x x y - abs $Szrp / 1 $Spwr / ^ $Szrp * $str * x y - x y - abs / * x y - 2 ^ "
\ +"$Szrp 2 ^ $SdmpLo + * x y - 2 ^ $SdmpLo + $Szrp 2 ^ * / * 1 " \ +"$SdmpHi 0 == 0 $Szrp $SdmpHi / 4 ^ ? + 1 $SdmpHi 0 == 0 x y - abs $SdmpHi / 4 ^ ? + / * + ?") mt_lutxy(tmp, method, yexpr=yexp,U=1,V=1)
AGS(string exp) 注意请用LoadCPlugin载入 测试:
- LoadCPlugin("AvsGenStr.dll")
BlankClip() BoolVar = true IntVar = 255 FloatVar = 90.12345678 StrVar = "The quick brown fox jumps over the lazy dog" A = Subtitle(AGS("""AGS: $BoolVar $IntVar $FloatVar$StrVar $""")) B = Subtitle("AGS: "+String(BoolVar)+" "+String(IntVar)+" "+String(FloatVar)+String(StrVar)+" $")) Interleave(A, B)
|
|