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

标题: 还是内置main的一些问题...(T_T 虽然有点不好意思再问了) [打印本页]

作者: yyxxlc    时间: 2013-5-17 21:50:33     标题: 还是内置main的一些问题...(T_T 虽然有点不好意思再问了)

本帖最后由 yyxxlc 于 2013-5-18 23:41 编辑

第一个问题是  main_003和005 关于设置颜色的那两个函数式,真心没看懂啊.....
          1、_003(水平颜色渐变,围绕主颜色C1):这个完全没弄懂到底是把rr、gg、bb做了个什么样的处理在合在一起??

  1. if 10 * _n > 255:
  2.         fac = 128 / _n
  3.     else:
  4.         fac = 10
  5.     if rr > 128:
  6.         rr -= fac * _j
  7.     else:
  8.         rr += fac * _j
  9.     if gg > 128:
  10.         gg -= fac * _j
  11.     else:
  12.         gg += fac * _j
  13.     if bb > 128:
  14.         bb -= fac * _j
  15.     else:
  16.         bb += fac * _j
  17.     EFT = pos(_x, _y) + color1(FmtRGB(rr, gg, bb))
复制代码



             2、_005(垂直颜色渐变,围绕主颜色C1的变化)

  1. CLR = DeFmtRGB(_1C)
  2.     rr = CLR[0]
  3.     gg = CLR[1]
  4.     bb = CLR[2]
  5.     if rr > 128:
  6.         rr = 0
  7.     else:
  8.         rr = 255
  9.     if gg > 128:
  10.         gg = 0
  11.     else:
  12.         gg = 255
  13.     if bb > 128:
  14.         bb = 0
  15.     else:
  16.         bb = 255
  17.     CLR = FmtRGB(rr, gg, bb)
  18.     COLOR = DivClr(_1C, CLR, _Fs)
复制代码


这个我好像是看明白了,意思是无论我_1C设的是什么颜色,向下渐变的颜色只可能有八种是吗?RGB(0,0,0)(0,0,255),(0,255,255),(0,255,0),(255,255,255),(255,0,0),(255,0,255),(255,255,0)

我稍微把函数改了一下,这样效果好像差不多啊~
  1. rr = CLR[0]
  2.     gg = CLR[1]
  3.     bb = CLR[2]
  4.     rr0=255-rr
  5.     gg0=255-gg
  6.     bb0=255-bb
  7.    
  8.     CLR = FmtRGB(rr0, gg0, bb0)
  9.     COLOR = DivClr(_1C, CLR, _Fs)
复制代码
第二个问题是:为了证明我看main_004的那个切片函数看懂了,所以自己做了个实验,我把切片函数稍微改了点,我觉得理论上的对的啊 为什么生成出来的ass 只有边框字里没颜色ORZ?
原切片函数:
  1. x1 = _x - _a / 2
  2.     x2 = _x + _a / 2
  3.     for i in range(_Fs):
  4.         y1 = _y - _Fs / 2 + i
  5.         y2 = y1 + 1
  6.         EFT = POS + clip(x1, y1, x2, y2) + color1(COLOR[i]) + alpha3(255)
复制代码
我修改的切片函数:
  1. x2 = _x - _a / 2
  2.     x1 = _x + _a / 2
  3.     for i in range(_Fs):
  4.         y1 = _y + _Fs / 2 - i
  5.         y2 = y1 - 1
  6.         EFT = POS + clip(x1, y1, x2, y2) + color1(COLOR[i]) + alpha3(255)
复制代码
第三个问题:呃....问题多的我都脸红鸟~  有一天我去下载了six大人发在内置特效区的main函数,现在不正在具体学么 就打开看了看 试着生成了一下 但是tcc报错了 原因是说这个     clips = RectClip(_x - _a / 2, _y - _Fs / 2, _a, _Fs)  这句代码里的RectClip没有定义,所以我就去看了看tcaxpy.py 发现里面还真没定义这个函数 但是奶大发的一个叫“tcaxPy.pyc 模块函数说明”的帖子里最后高级特效函数里面是有这个函数的,难道是我的tcaxpy版本太低了?大大可以发一个有这个函数的库文件给我么~~(摊手~)
作者: yyxxlc    时间: 2013-5-17 21:52:22

明明没设斜体啊 为毛后面自己斜了 难道这表明LZ RP不正么 太桑人了!
作者: milkyjing    时间: 2013-5-18 21:25:27

yyxxlc 发表于 2013-5-17 21:52
明明没设斜体啊 为毛后面自己斜了 难道这表明LZ RP不正么 太桑人了!


代码里面的有些东西被识别为DZ代码了...是代码的部分, 加个 [code] 代码就好了吧..

如果无效, 你可以选择禁用编辑器代码
作者: milkyjing    时间: 2013-5-18 21:35:46

关于颜色渐变, 这里用的就是线性插值...  不管使用何种函数, 最终只要能得到一个新的数值就可以了... (好不好看是其次...

颜色有 R, G, B三个分量, 每个分量值从 0~255   你可以使用任何一个函数, new_r = f(r)

这个f, 简单一点, 可以使用 一次函数...  只要确定 起始点, 以及斜率, 就可以最终确定这个函数. 起始点, 我们可以任意选择一个颜色. c1, 斜率 就是 (c2 - c1) / step  这个step, 就是我们打算生成多少个颜色.   

举个例子:

我们指定两个初始颜色  c1, c2  (对应分量为 r1, g1, b1, r2, g2, b2)

我们想要生成 5 种颜色 (包括c1, c2, 因此需要再构造3个颜色).

则颜色表达式为  c = c1 + (c2 - c1) / 4 * i

i = 0, 1, 2, 3, 4


作者: milkyjing    时间: 2013-5-18 21:37:35

2. 边框没有颜色? 你不是设置边框透明了么... alpha3(255)
作者: milkyjing    时间: 2013-5-18 21:39:11

3. 那个函数被砍掉了... 早期tcaxPy.py脚本中有... 如果需要, 你把下面这代码, 粘贴到 那个特效脚本里面去就行了.
  1. def RectClip(InitPosX, InitPosY, WD, HT, AN = 7, DENS = 1.0, SIZE = 1):       # 用点或方格的形式切割文字
  2.     RCLIP = []
  3.     for i in range(AdvInt(DENS * WD)):
  4.         for j in range(AdvInt(DENS * HT)):
  5.             RCLIP.append(clip(InitPosX + AdvInt(i / DENS), InitPosY + AdvInt(j / DENS), InitPosX + AdvInt(i / DENS) + SIZE, InitPosY + AdvInt(j / DENS) + SIZE))
  6.     return RCLIP
复制代码

作者: yyxxlc    时间: 2013-5-18 23:03:44

milkyjing 发表于 2013-5-18 21:39
3. 那个函数被砍掉了... 早期tcaxPy.py脚本中有... 如果需要, 你把下面这代码, 粘贴到 那个特效脚本里面去 ...

恩!谢谢牛奶大!我会好生研究研究的!为什么要删了它呢,多么乖巧的函数啊!
作者: yyxxlc    时间: 2013-5-18 23:13:37

milkyjing 发表于 2013-5-18 21:25
代码里面的有些东西被识别为DZ代码了...是代码的部分, 加个 [code] 代码就好了吧..

如果无效, 你可以选 ...

加个code变得好诡异
作者: milkyjing    时间: 2013-5-18 23:22:23

yyxxlc 发表于 2013-5-18 23:13
加个code变得好诡异

你没正确使用... 我帮你编辑了, 你可以再编辑看看是怎么使用的..
作者: milkyjing    时间: 2013-5-18 23:24:44

yyxxlc 发表于 2013-5-18 23:03
恩!谢谢牛奶大!我会好生研究研究的!为什么要删了它呢,多么乖巧的函数啊! ...


tcaxPy.py 只负责一些比较底层的操作.

其他函数应该被封装在各种独立的脚本中. (这里涉及到Python语言特性--->脚本/模块的载入)

而且这些 (删掉的函数), 是我早期(久远了)随意写的...

p.s. 第三方脚本, 记得灾厄写过一个封装了Mod特效代码的脚本, http://www.tcax.org/forum.php?mod=viewthread&tid=162
作者: yyxxlc    时间: 2013-5-18 23:35:30

milkyjing 发表于 2013-5-18 23:22
你没正确使用... 我帮你编辑了, 你可以再编辑看看是怎么使用的..

我懂了....大概是今天脑筋不灵光了
作者: yyxxlc    时间: 2013-5-18 23:39:49

milkyjing 发表于 2013-5-18 23:24
tcaxPy.py 只负责一些比较底层的操作.

其他函数应该被封装在各种独立的脚本中. (这里涉 ...

牛奶大您老果然是强人一枚啊! 也感谢saiyaku大大!(<---写成汉字之后看好生奇怪 都是错觉)




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