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

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

[其他] TCAX 文本对齐方式 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2022-1-16 01:13:03 |只看该作者 |倒序浏览
本帖最后由 Seekladoom 于 2022-2-1 03:16 编辑

相关链接:
TCAX 时间计算及文字定位 (英文)
【具体位置可看键盘上的小键盘数字1-9的布局来强化记忆】


global格式1
  1. 1.对齐方式 1,x = GetVal(val_OffsetX),y = GetVal(val_ResolutionY) - GetVal(val_FontSize) - GetVal(val_OffsetY)
  2. 2.对齐方式 2,x = GetVal(val_OffsetX) + (GetVal(val_ResolutionX) - GetVal(val_TextLength) [line_index]) / 2, y = GetVal(val_ResolutionY) - GetVal(val_FontSize) - GetVal(val_OffsetY)
  3. 3.对齐方式 3, x = GetVal(val_ResolutionX) - GetVal(val_TextLength)[line_index] - GetVal(val_OffsetX), y = GetVal(val_ResolutionY) - GetVal(val_FontSize) - GetVal(val_OffsetY)
  4. 4.对齐方式 4, x = GetVal(val_OffsetX), y = GetVal(val_ResolutionY) / 2 - GetVal(val_OffsetY)
  5. 5.对齐方式 5, x = GetVal(val_OffsetX) + (GetVal(val_ResolutionX) - GetVal(val_TextLength)[line_index]) / 2, y = GetVal(val_ResolutionY) / 2 - GetVal(val_OffsetY)
  6. 6.对齐方式 6, x = GetVal(val_ResolutionX) - GetVal(val_TextLength)[line_index] - GetVal(val_OffsetX), y = GetVal(val_ResolutionY) / 2 - GetVal(val_OffsetY)
  7. 7.对齐方式 7, x = GetVal(val_OffsetX), y = GetVal(val_OffsetY)
  8. 8.对齐方式 8, x = GetVal(val_OffsetX) + (GetVal(val_ResolutionX) - GetVal(val_TextLength)[line_index]) / 2, y = GetVal(val_OffsetY)
  9. 9.对齐方式 9, x = GetVal( val_ResolutionX) - GetVal(val_TextLength)[line_index] - GetVal(val_OffsetX), y = GetVal(val_OffsetY)
复制代码

global格式2
  1. 1.对齐方式 1,x = marginX,y = resY - _Fs - marginY
  2. 2.对齐方式 2,x = marginX + (resX - _L) / 2, y = resY - _Fs - marginY
  3. 3.对齐方式 3, x = resX - _L - marginX, y = resY - _Fs - marginY
  4. 4.对齐方式 4, x = marginX, y = resY / 2 - marginY
  5. 5.对齐方式 5, x = marginX + (resX - _L) / 2, y = resY / 2 - marginY
  6. 6.对齐方式 6, x = resX - _L - marginX, y = resY / 2 - marginY
  7. 7.对齐方式 7, x = marginX, y = marginY
  8. 8.对齐方式 8, x = marginX + (resX - _L) / 2, y = marginY
  9. 9.对齐方式 9, x = resX - _L - marginX, y = marginY
复制代码

user格式
  1. 1.对齐方式 1,x = marginX,y = resY - _Fs - marginY
  2. 2.对齐方式 2,x = marginX + (resX - _L[i]) / 2, y = resY - _Fs - marginY
  3. 3.对齐方式 3, x = resX - _L[i] - marginX, y = resY - _Fs - marginY
  4. 4.对齐方式 4, x = marginX, y = resY / 2 - marginY
  5. 5.对齐方式 5, x = marginX + (resX - _L[i]) / 2, y = resY / 2 - marginY
  6. 6.对齐方式 6, x = resX - _L[i] - marginX, y = resY / 2 - marginY
  7. 7.对齐方式 7, x = marginX, y = marginY
  8. 8.对齐方式 8, x = marginX + (resX - _L[i]) / 2, y = marginY
  9. 9.对齐方式 9, x = resX - _L[i] - marginX, y = marginY
复制代码

Rank: 4

沙发
发表于 2022-2-1 10:19:04 |只看该作者
本帖最后由 Seekladoom 于 2022-2-1 10:20 编辑

tcaxPy.py的第231行:def getpos(i, j, an = None, offsetX = None, offsetY = None):
  1. def getpos(i, j, an = None, offsetX = None, offsetY = None):
  2.     if an == None:
  3.         an = __tcax_data[8]
  4.     if offsetX == None:
  5.         offsetX = __tcax_data[9]
  6.     if offsetY == None:
  7.         offsetY = __tcax_data[10]
  8.     if an == 1:
  9.             initPosX =  offsetX
  10.             initPosY = __tcax_data[6] - offsetY - int(__tcax_data[4]/2+0.5)
  11.     elif an == 2:
  12.             initPosX = (__tcax_data[5] - __tcax_data[40][i]) / 2 + offsetX
  13.             initPosY = __tcax_data[6] - offsetY - int(__tcax_data[4]/2+0.5)
  14.     elif an == 3:
  15.             initPosX = __tcax_data[5] - __tcax_data[40][i] - offsetX
  16.             initPosY = __tcax_data[6] - offsetY - int(__tcax_data[4]/2+0.5)
  17.     elif an == 4:
  18.             initPosX =  offsetX
  19.             initPosY = int(__tcax_data[6]/2+0.5) - offsetY + int(__tcax_data[4]/2+0.5)
  20.     elif an == 5:
  21.             initPosX = int((__tcax_data[5] - __tcax_data[40][i]) / 2 + 0.5)+ offsetX
  22.             initPosY = int(__tcax_data[6]/2+0.5) - offsetY + int(__tcax_data[4]/2+0.5)
  23.     elif an == 6:
  24.             initPosX = __tcax_data[5] - __tcax_data[40][i] - offsetX
  25.             initPosY = int(__tcax_data[6]/2+0.5) - offsetY + int(__tcax_data[4]/2+0.5)
  26.     elif an == 7:
  27.             initPosX =  offsetX
  28.             initPosY =  offsetY + int(__tcax_data[4]/2+0.5)
  29.     elif an == 8:
  30.             initPosX = int((__tcax_data[5] - __tcax_data[40][i]) / 2 + 0.5)+ offsetX
  31.             initPosY =  offsetY + int(__tcax_data[4]/2+0.5)
  32.     elif an == 9:
  33.             initPosX = __tcax_data[5] - __tcax_data[40][i] - offsetX
  34.             initPosY =  offsetY + int(__tcax_data[4]/2+0.5)

  35.     posX = initPosX + __tcax_data[39][i][j] + int(__tcax_data[38][i][j]/2+0.5)
  36.     posY = initPosY

  37.     return (posX,posY)  
复制代码

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

GitHub|TCAX 主页

GMT+8, 2024-4-20 13:51

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH