ASS 字幕假名標(biāo)注行顏色整體漸變嘗試

寫在前面
前段時間學(xué)了一下 Aegisub,有兩個問題困擾了我,其一是假名標(biāo)注的位置如何精準(zhǔn)設(shè)定,其二是假名標(biāo)注顏色漸變的處理(方案 a:標(biāo)注行整體漸變,方案 b:每個標(biāo)注單獨漸變)。如圖 1 所示,這是之前閑的沒事做的字幕的效果,問題一姑且可以靠肉眼手動解決,問題二則因為需要耗費的精力極大棄療選擇了方案 a。

由于最近比較忙(指八方旅人 2 和萊莎 3),第二個問題就一直擱置。昨天晚上突然閑的沒事,就又想了一下,弄了個方案 b 的簡易實現(xiàn),最終效果如圖 2 所示。

解決方案
DEMO
如圖 3 所示,只需在每個漢字前加上 \1 \2 \3 之類的標(biāo)識符(表示后面需要標(biāo)注的漢字長度),設(shè)定四角的顏色,然后運行,即可得到每組漢字對應(yīng)標(biāo)注的四角顏色。
關(guān)于標(biāo)識符:應(yīng)該有更加自動化的方式,比如抓取連續(xù)的漢字(但是沒辦法區(qū)分圖 3 中的第二行和第三行),也許要上點 NLP 模型(那就有點麻煩了……)。

細(xì)節(jié)
1. 配置
2. 顏色變換
ASS 是 BGR 順序,因此需要和 RGB 順序相互轉(zhuǎn)化。
3. 標(biāo)注信息抽取
比較樸素。
4. 顏色漸變
核心代碼。
主流程
比較樸素。
5. 可視化
效果如圖 4 所示。

后記
綜上,代碼和專欄秉著“能用就行”的態(tài)度寫得都比較倉促簡陋,見諒。
學(xué)習(xí)為主,后面不一定會用到。
附錄
顏色漸變
`3vc` 表示邊框顏色漸變,類似地,還有 `1vc` 和 `2vc` 等;
四個角的順序是左上、右上、左下、右下。
ASS 的顏色順序是 BGR;
位置設(shè)定

如圖 5 所示,在 Aegisub 的視頻窗口雙擊即可設(shè)定位置。
我目前的做法是:先對每個標(biāo)注進(jìn)行手動設(shè)定位置以確定水平坐標(biāo),再使用正則替換統(tǒng)一設(shè)定豎直坐標(biāo)。