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

 找回密码
 新人加入
查看: 7967|回复: 16
打印 上一主题 下一主题

ASS特效教程 圓形漸變 [复制链接]

Administrator

Shanzhai Pro.

Rank: 7Rank: 7Rank: 7

跳转到指定楼层
楼主
发表于 2012-2-12 22:40:11 |只看该作者 |倒序浏览
之前游風君問了一下 寫了這個例子 還是比較建議大家直接用tcas做
話說圓形漸變 這詞也不太對 正式應該叫 Radial Gradient 徑向漸變
嘛 不用在意那麼多了 這東西曾經在特效裏用過 不過當時寫得比較蛋疼所以重新寫一下

整個工程文件在這裡 sample.zip (2.67 KB, 下载次数: 3112)
  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)
复制代码

Rank: 5Rank: 5

沙发
发表于 2012-2-12 22:41:55 |只看该作者
本帖最后由 six 于 2012-2-13 13:58 编辑

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

后记,晕@@

正式会员

妖木

Rank: 4

板凳
发表于 2012-2-13 22:18:57 |只看该作者
诶诶……刚发现sai大有个新教程诶……
顶之

Moderator

疯子

Rank: 5Rank: 5

地板
发表于 2012-2-13 22:23:45 |只看该作者
根据009特效的改进么...回来好好看看

Moderator

youkaze

Rank: 5Rank: 5

5#
发表于 2012-2-13 22:45:02 |只看该作者
来支持个 嘿嘿这个比之前那个版本好多了

Rank: 4

6#
发表于 2012-2-14 11:10:38 |只看该作者
小白来膜拜一下

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

7#
发表于 2012-2-14 15:25:04 |只看该作者
顶, 感觉稍微改改代码就可以弄"圆形淡入淡出"了...

Rank: 4

8#
发表于 2012-2-14 16:55:42 |只看该作者
来支持一下

Rank: 5Rank: 5

9#
发表于 2012-3-17 22:00:34 |只看该作者
现在能看懂了- -
SAI大继续啊,比完整代码里的那个容易理解多了……

Rank: 4

10#
发表于 2012-8-18 22:53:48 |只看该作者
小白表示注释大好,慢慢研究,感谢~

Rank: 4

11#
发表于 2013-1-6 16:36:59 |只看该作者
才刚刚开始学习python  还在努力中 注释很详细

Rank: 4

12#
发表于 2013-1-23 19:01:48 |只看该作者
从哪打开啊?

Rank: 4

13#
发表于 2013-1-23 19:11:37 |只看该作者
Aegisub 新手啊,渐变字,特效神马的,求教导啊~

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

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

14#
发表于 2013-1-23 22:42:39 |只看该作者
Abc 发表于 2013-1-23 19:01
从哪打开啊?

從看教程開始...

Administrator

TCAX Dev.

Rank: 7Rank: 7Rank: 7

15#
发表于 2013-1-23 22:43:14 |只看该作者
Abc 发表于 2013-1-23 19:11
Aegisub 新手啊,渐变字,特效神马的,求教导啊~

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

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

本版是TCAX工具相關.

Rank: 4

16#
发表于 2013-1-24 08:34:37 |只看该作者
milkyjing 发表于 2013-1-23 22:43
Aegisub相關討論請去, http://www.tcax.org/forum.php?gid=50

本版是TCAX工具相關.

多谢鸟~

Rank: 1

17#
发表于 2013-4-2 19:58:31 |只看该作者
初学者的福音啊,谢谢
1

查看全部评分

您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-11-24 11:20

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH