最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【Aegisub】任意字符串轉(zhuǎn)ASSDraw3繪圖代碼

2020-05-02 07:05 作者:多華宮與火火里  | 我要投稿

首先在提任意字符串轉(zhuǎn)ASSDraw3繪圖之前,先講講ASSDraws的繪圖代碼是什么樣子的


一、Yutils的文字轉(zhuǎn)繪圖產(chǎn)生的繪圖字符串是什么樣的

Yutils可以將文字轉(zhuǎn)為繪圖代碼,但是這些繪圖字符串都是省略的繪圖字符串。

因?yàn)楸緛?lái)的繪圖字符串應(yīng)該符合以下規(guī)律:

b命令后面只能接3個(gè)點(diǎn),然后要不然后面什么繪圖命令都沒(méi)有、要不然就接下一個(gè)繪圖命令


直線l命令后面只接一個(gè)點(diǎn),然后要不然后面就畫完了,要不然就接著下一個(gè)繪圖命令


m表示開(kāi)始一個(gè)新的繪圖起點(diǎn)


所以整個(gè)繪圖比如這樣的格式:

m 2 5 l 12 55 l 24 32


再比如:m 0 3 b 12 23 21 33 26 18 b 42 33 15 28 10 38 l 5 9


而Yutils轉(zhuǎn)出的繪圖代碼并不是上面這種"嚴(yán)格規(guī)范"的格式,而是能省就省的格式,這樣的省略格式雖然你復(fù)制到assdraw3里面也能識(shí)別,但是,assdraw3會(huì)自動(dòng)把你這個(gè)省略的代碼補(bǔ)完、補(bǔ)齊以后才讀出繪圖的,所以并不是直接讀的省略的繪圖代碼,而是它自動(dòng)補(bǔ)齊再讀的繪圖


所以,如果直接用Yutils轉(zhuǎn)的繪圖,就不能用在比如vector_move函數(shù)里面,因?yàn)槟莻€(gè)函數(shù)只能讀出"嚴(yán)格規(guī)范"的繪圖字符串代碼,不能讀出Yutils這種能省就省省略繪圖代碼,它可不會(huì)像assdraw3那樣自動(dòng)補(bǔ)齊、補(bǔ)完。所以你直接用Yutils轉(zhuǎn)的繪圖字符串給Vector_move函數(shù),那么就會(huì)報(bào)錯(cuò),就會(huì)報(bào)錯(cuò)說(shuō)你的繪圖命令是未知的,所以為了不出現(xiàn)這樣的情況,你就必須先自己把Yutils轉(zhuǎn)出的繪圖字符串文本給好好補(bǔ)齊才可以

比如你可以這樣寫一個(gè)函數(shù)來(lái)處理字符串:

function Xshape.change_Yutilsdraw(ass_shape)

local new_l_b={}

for m in ass_shape:gmatch("m[^m]+") do

for bl in m:gmatch("[mbl][- .%d]+") do

if bl:match("[mbl]")=="m" then

new_l_b[#new_l_b+1]=bl

elseif bl:match("[mbl]")=="l" then

local l_points={}

for l_p in bl:gmatch("[-.%d]+ [-.%d]+") do

l_points[#l_points+1]="l "..l_p.." "

end

new_l_b[#new_l_b+1]=table.concat(l_points)

elseif bl:match("[mbl]")=="b" then

local b_points={}

for b_p in bl:gmatch("[-.%d]+ [-.%d]+ [-.%d]+ [-.%d]+ [-.%d]+ [-.%d]+") do

b_points[#b_points+1]="b "..b_p.." "

end

new_l_b[#new_l_b+1]=table.concat(b_points)

end

end

end

return table.concat(new_l_b)

end

當(dāng)然你也可以用gsub來(lái)寫,那樣更簡(jiǎn)單!


二、那么對(duì)于任意一串字符串,要怎么處理成assdraw3形式的繪圖代碼呢?

詳見(jiàn)視頻:https://www.bilibili.com/video/BV1da4y1v7kd/

另外,如何封閉繪圖路徑也在另一個(gè)視頻里說(shuō)明介紹了

【Aegisub】任意字符串轉(zhuǎn)ASSDraw3繪圖代碼的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
万全县| 鄄城县| 嫩江县| 台湾省| 永州市| 太保市| 华安县| 雅江县| 什邡市| 岐山县| 科技| 霍林郭勒市| 彭阳县| 顺昌县| 绍兴县| 汉寿县| 兴安县| 景泰县| 望都县| 德安县| 轮台县| 黔西县| 永善县| 思南县| 永寿县| 金川县| 都安| 隆林| 张北县| 灵寿县| 遂溪县| 诸城市| 涪陵区| 西盟| 临武县| 辉县市| 宁晋县| 黄石市| 丁青县| 台安县| 巴彦淖尔市|