xy-VSFilter的几个feature
本文发布于 406 天前。

xy-VSFilter中,存在两个(或许更多)ASS手册中未提及的特效标签用法。

fs的正负号使用

\fs标签通常直接接数字,例如\fs50表示将字号重设为50。
但是vsfilter还支持\fs+n\fs-n,其作用为,将字号调整为(1±n/10)*原字号。在计算结果<=0时,会返回原始字号。
RTS.cpp @L2481

case CMD_fs:
    {
        if(!p.IsEmpty())
        {
            if(p[0] == L'-' || p[0] == L'+')
            {
                double n = CalcAnimation(style.fontSize + style.fontSize*wcstod(p, NULL)/10, style.fontSize, fAnimate);
                style.fontSize = (n > 0) ? n : org.fontSize;
            }
            else
            {
                double n = CalcAnimation(wcstod(p, NULL), style.fontSize, fAnimate);
                style.fontSize = (n > 0) ? n : org.fontSize;
            }
        }
        else
        {
            style.fontSize = org.fontSize;
        }
        break;
    }

fad 和 fade归一化

ASS手册中对fadfade是分开介绍的:

渐变:\fad(<fadein>,<fadeout>)
复杂渐变: \fade(<a1>,<a2>,<a3>,<t1>,<t2>,<t3>,<t4>)

但实际上,vsfilter的渲染过程中,是把他们当做同一标签判断的,如果参数数量为2,则应用简单的淡入淡出;参数数量为7时则应用复杂的效果。
RTS.cpp @L2371

case CMD_fade:
case CMD_fad:
    {
        sub->m_fAnimated2 = true;
        if(params.GetCount() == 7 && !sub->m_effects[EF_FADE])// {\fade(a1=param[0], a2=param[1], a3=param[2], t1=t[0], t2=t[1], t3=t[2], t4=t[3])
        {
            if(Effect* e = DEBUG_NEW Effect)
            {
                for(int i = 0; i < 3; i++)
                    e->param[i] = wcstol(params[i], NULL, 10);
                for(int i = 0; i < 4; i++)
                    e->t[i] = wcstol(params[3+i], NULL, 10);
                sub->m_effects[EF_FADE] = e;
            }
        }
        else if(params.GetCount() == 2 && !sub->m_effects[EF_FADE]) // {\fad(t1=t[1], t2=t[2])
        {
            if(Effect* e = DEBUG_NEW Effect)
            {
                e->param[0] = e->param[2] = 0xff;
                e->param[1] = 0x00;
                for(int i = 1; i < 3; i++)
                    e->t[i] = wcstol(params[i-1], NULL, 10);
                e->t[0] = e->t[3] = -1; // will be substituted with "start" and "end"
                sub->m_effects[EF_FADE] = e;
            }
        }
        break;
    }
标题:xy-VSFilter的几个feature
作者:IKK
除转载和特殊声明外,所有文章采用 CC BY-NC-SA 4.0协议
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇