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

标题: 文字定位问题修复方法 [打印本页]

作者: milkyjing    时间: 2012-2-24 21:16:15     标题: 文字定位问题修复方法

说明

普通文字与像素字, ASS绘图文字, 文字Mask等有时会有一定的定位偏差(某一部分特定字体不存在该问题), 这个问题的产生原因比较复杂, 就不细讲了. 本教程主要是针对如何修复该问题. 方法比较死板, 虽然很简单, 但操作起来比较繁琐.

该问题, 有时候可以通过一些小窍门避开, 需要在实践中掌握.

本方法的主要思想是, 通过眼睛观察, 然后手工调整文字定位. 需要具体问题具体分析.


例子

本例子调整的是ASS绘图文字的定位, 有时候修改普通文字定位会来得简单一些.
代码如下
  1. from tcaxPy import *

  2. def tcaxPy_Init():
  3.     global _Fs
  4.     global _Spacing
  5.     global Font
  6.     global pos_fix
  7.     _FontFileName = GetVal(val_FontFileName)
  8.     _FaceID       = GetVal(val_FaceID)
  9.     _Fs           = GetVal(val_FontSize)
  10.     _Spacing = GetVal(val_Spacing)
  11.     Font = InitFont(_FontFileName, _FaceID, _Fs, _Spacing, GetVal(val_SpaceScale), MakeRGB(0, 0, 0), 0, False)
  12.     pos_fix = {'こ':(-0.5, 0.3), 'の':(0, 0.6), '空':(0, 0.4), '彼':(-0.3, 0.8), '方':(0.4, 0)}

  13. def tcaxPy_Fin():
  14.     FinFont(Font)

  15. def tcaxPy_Main(_i, _j, _n, _start, _end, _elapk, _k, _x, _y, _a, _txt):
  16.     ASS_BUF  = []        # 保存ASS特效
  17.     TCAS_BUF = []        # 保存TCAS特效
  18.     ##### 主要特效编写操作 #####
  19.     dx = _x - int((_a + _Spacing) / 2 + 0.5)    # an7, standard way
  20.     dy = _y - int(_Fs / 2 + 0.5)                # an7, standard way
  21.     outline = TextOutlineDraw(Font, _txt, 0, 0)
  22.     # with fix
  23.     ass_main(ASS_BUF, SubL(_start, _end), pos(_x, _y) + alpha1(255) + color3('0000FF') + bord(1), _txt)
  24.     ass_main(ASS_BUF, SubL(_start, _end), an(7) + pos(dx + pos_fix[_txt][0], dy + pos_fix[_txt][1]) + color1('00FF00') + bord(0), '{\\p7}' + outline + '{\\p0}')
  25.     # without fix
  26.     ass_main(ASS_BUF, SubL(_start, _end), pos(_x, _y + 100) + alpha1(255) + color3('0000FF') + bord(1), _txt)
  27.     ass_main(ASS_BUF, SubL(_start, _end), an(7) + pos(dx, dy + 100) + color1('00FF00') + bord(0), '{\\p7}' + outline + '{\\p0}')
  28.     ##### 将结果返回给tcax进行处理 #####
  29.     return (ASS_BUF, TCAS_BUF)
复制代码
完整工程见附件



附件: [完整工程] pos_fix_method.rar (2012-2-24 21:16:05, 2.22 KB) / 下载次数 1421
http://www.tcax.org/forum.php?mod=attachment&aid=MzM5fGE4MGZmM2U4fDE3MTQ3NDY3NTB8MHww
作者: 四月一日 君寻    时间: 2012-2-24 22:25:19

嗯嗯 只能这样了




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