TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua

标题: ASS特效教程 圓形漸變 [打印本页]

作者: saiyaku    时间: 2012-2-12 22:40:11     标题: ASS特效教程 圓形漸變

之前游風君問了一下 寫了這個例子 還是比較建議大家直接用tcas做
話說圓形漸變 這詞也不太對 正式應該叫 Radial Gradient 徑向漸變
嘛 不用在意那麼多了 這東西曾經在特效裏用過 不過當時寫得比較蛋疼所以重新寫一下

整個工程文件在這裡 sample.zip (2.67 KB, 下载次数: 3105)
  1. from tcaxPy import *



  2. def tcaxPy_Init():

  3.     # Tips: initialize your global variables here

  4.     global _FontSize

  5.     global pyFont

  6.     _FontSize = GetVal(val_FontSize)

  7.     pyFont    = InitFont(GetVal(val_FontFileName), GetVal(val_FaceID), GetVal(val_FontSize), GetVal(val_Spacing), GetVal(val_SpaceScale), 0x0000FF, 0, 0)


  8. def tcaxPy_Main(_I, _J, _N, _BT, _ET, _SK, _KT, _X, _Y, _A, _TXT):

  9.     ASS_BUF = []        # used for saving raw TCS FX data

  10.     PIX = TextPix(pyFont, _TXT)                                  # 創建粒子
  11.     InitPosX = _X - int(_A / 2 + 0.5) + PIX[0][0]                # an7 X座標
  12.     InitPosY = _Y - int(_FontSize / 2 + 0.5) + PIX[0][1]         # an7 Y座標
  13.     running = 1                                                  # 無限循環用參數
  14.     while running == 1:

  15.         h = randint(0,PIX[1][1]-1)                               # 隨機取一個點
  16.         w = randint(0,PIX[1][0]-1)

  17.         idx  = 4 * (h * PIX[1][0] + w)                           # PIX元組腳標

  18.         if PIX[2][idx + 3] != 0:                                 # 該點透明度不為0 即該點在文字上時 終止循環
  19.             running = 0                                          

  20.     B  = InitPosY + h                                            # 該點的X Y 座標
  21.     A = InitPosX + w  

  22.     distance = [int(sqrt(w**2+h**2)),int(sqrt((w-PIX[1][0])**2+h**2)),int(sqrt(w**2+(h-PIX[1][1])**2)),int(sqrt((w-PIX[1][0])**2+(h-PIX[1][1])**2))]             
  23.     dmax = max(distance)+1                                       # 計算點與粒子四個角座標的距離 取最大值 由於小數會捨去所以加1

  24.     C = [ "0000FF", "0080FF","00FFFF","00FF00","FF0000","FFFF00","800080" ]
  25.     Color = DivClr('FFFFFF',C[_J%7],dmax)                       # 拆分顏色

  26.     for h in range(PIX[1][1]):                                   # 通常粒子字掃點
  27.         Y  = InitPosY + h                                       
  28.         for w in range(PIX[1][0]):
  29.             X = InitPosX + w                                       
  30.             idx  = 4 * (h * PIX[1][0] + w)
  31.             PixR = PIX[2][idx + 0]
  32.             PixG = PIX[2][idx + 1]
  33.             PixB = PIX[2][idx + 2]
  34.             PixA = PIX[2][idx + 3]
  35.             if PixA != 0:                                   
  36.                 d = int(sqrt((X-A)**2+(Y-B)**2))                 # 計算點到中心點的距離

  37.                 ass_main(ASS_BUF, SubL(_BT+_SK-5,_ET+_J*5),pos(X,Y)+an(7)+fad(50,150)+bord(0)+alpha(255-PixA)+color1(Color[d]), PixPt())   

  38.     return (ASS_BUF,None)

  39. def tcaxPy_Fin():

  40.     # Tips: finalize your global variables here

  41.     FinFont(pyFont)
复制代码


附件: sample.zip (2012-2-12 22:37:58, 2.67 KB) / 下载次数 3105
http://tcax.org/forum.php?mod=attachment&aid=MjMwfDQxMDAyNWM0fDE3MzIyNDk3NDN8MHww
作者: six    时间: 2012-2-12 22:41:55

本帖最后由 six 于 2012-2-13 13:58 编辑

新人来围观- -明天学习、

后记,晕@@
作者: mzlmcx    时间: 2012-2-13 22:18:57

诶诶……刚发现sai大有个新教程诶……
顶之
作者: 渣渣疯子    时间: 2012-2-13 22:23:45

根据009特效的改进么...回来好好看看
作者: 四月一日 君寻    时间: 2012-2-13 22:45:02

来支持个 嘿嘿这个比之前那个版本好多了
作者: 兜兜里没糖    时间: 2012-2-14 11:10:38

小白来膜拜一下
作者: milkyjing    时间: 2012-2-14 15:25:04

顶, 感觉稍微改改代码就可以弄"圆形淡入淡出"了...


作者: lazycat    时间: 2012-2-14 16:55:42

来支持一下
作者: six    时间: 2012-3-17 22:00:34

现在能看懂了- -
SAI大继续啊,比完整代码里的那个容易理解多了……
作者: classa    时间: 2012-8-18 22:53:48

小白表示注释大好,慢慢研究,感谢~
作者: 叽算姬    时间: 2013-1-6 16:36:59

才刚刚开始学习python  还在努力中 注释很详细
作者: Abc    时间: 2013-1-23 19:01:48

从哪打开啊?
作者: Abc    时间: 2013-1-23 19:11:37

Aegisub 新手啊,渐变字,特效神马的,求教导啊~

下是下载了,用在哪里没弄懂。
作者: milkyjing    时间: 2013-1-23 22:42:39

Abc 发表于 2013-1-23 19:01
从哪打开啊?

從看教程開始...
作者: milkyjing    时间: 2013-1-23 22:43:14

Abc 发表于 2013-1-23 19:11
Aegisub 新手啊,渐变字,特效神马的,求教导啊~

下是下载了,用在哪里没弄懂。 ...

Aegisub相關討論請去, http://www.tcax.org/forum.php?gid=50

本版是TCAX工具相關.
作者: Abc    时间: 2013-1-24 08:34:37

milkyjing 发表于 2013-1-23 22:43
Aegisub相關討論請去, http://www.tcax.org/forum.php?gid=50

本版是TCAX工具相關.

多谢鸟~
作者: 紫恋水晶    时间: 2013-4-2 19:58:31

初学者的福音啊,谢谢




欢迎光临 TCAX 字幕特效制作工具官方论坛 | ASS | TCAS | Python | Aegisub | Lua (http://tcax.org/) Powered by Discuz! X2