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

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

[已解决] InitFont函数的is_outline参数设为1时,有时脚本不能正常解析 [复制链接]

Rank: 5Rank: 5

跳转到指定楼层
楼主
发表于 2011-11-22 13:30:31 |显示全部楼层 |倒序浏览
帖子ASS对白时间轴文件转TCAS (附完整工程)中第11行代码InitFont函数的最后两个参数是1和0,也就是边框厚度为1,包含字体主体结构。这样最后生成的文字效果是由前后两个文字组合而出的,文字主体部分叠加。于是我试着将第11行代码InitFont函数的最后两个参数改为1和1,也就是只含1个像素厚度的边框,不包含字体主体。这样组合以后,主体部分不会叠加,文字显示的效果能与ASS显示的文字效果相同。可是问题出现了,当修改以后解析文件时出现如下图的错误。

原始.jpg

于是我又更改了一些参数,将TCC文件中的字体改为隶书时,同样会出现错误,但是可以处理到5.15%,如下图。

隶书.jpg

如果将TCC文件中的字体改为黑体,则可以成功解析,如下图。

黑体.jpg

如果使用原来的字体,将InitFont函数边框的参数改成3或更大的值,也可以正常解析,不会出现错误。

所以我想问InitFont函数最后一个参数is_outline设为1时,参数bord有什么限制吗?还是程序有Bug?

Rank: 5Rank: 5

沙发
发表于 2011-11-22 15:14:13 |显示全部楼层
我刚刚又重新测试了一下,有如下结果:

当is_outline为1时,文字效果如下:(上面一行为ASS, 下面一行为TCAS)

不叠加.png

当is_outline为0时,文字效果如下:(上面一行为ASS, 下面一行为TCAS)

叠加.png

使用CombinePixs函数混合渲染以后:

当is_outline为1时,文字效果如下:(上面一行为ASS, 下面一行为TCAS)

不叠加_组合.png

当is_outline为0时,文字效果如下:(上面一行为ASS, 下面一行为TCAS)

叠加_组合.png

可以看出当is_outline为1时,TCAS与ASS效果几乎一样,而当is_outline为0时,TCAS的文字比ASS文字稍微偏红。使用CombinePixs以后与不用该函数显示效果不变,但是生成的TCAS文件变小了。嘿,CombinePixs确实是个好东西。

通过以上测试感觉,当把is_outline设为1时,TCAS的效果更接近ASS的效果。也就是边框与主体叠加比带边框的主体与主体叠加更接近ASS的效果。不知道我的测试准不准,还请牛奶大指正。
您需要登录后才可以回帖 登录 | 新人加入

GitHub|TCAX 主页

GMT+8, 2024-5-5 07:35

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部
RealH