在图片中如何生成带有文字边缘空心字体?

tsinghuazhuoqing 发表于 2021/12/25 23:26:35 2021/12/25
【摘要】 简 介: 带有边缘的空心字体被广泛使用在各类视频的字母显示中,本文给出了一种简单的通过字体震动显示的方式产生空心字体的方法。这种方法可以在原来任何字体都生成相对应的空心字体。 关键词: 空心字体...

简 介: 带有边缘的空心字体被广泛使用在各类视频的字母显示中,本文给出了一种简单的通过字体震动显示的方式产生空心字体的方法。这种方法可以在原来任何字体都生成相对应的空心字体。

关键词 空心字体字幕

 

§01 心字体


一、为什么需要空心字体?

在制作视频节目的过程中,为了能够在屏幕下面叠加字幕,需要以下几种模式:

  • 模式1: 直接叠加文字字幕;
  • 模式2: 字幕文字具有填充颜色;
  • 模式3: 字母横条;
  • 模式4: 字幕字体具有边缘;

如果统计在头条上的视频字幕形式,其中 具有白色(浅色)文字具有黑色(深色)变换字母形式居多(也就是模式4)。这种方式具有以下优点:

  • 能够适应于以动态图像居多的画面中;比起模式1,它在背景画面中的无论什么形式都能够比较好的融合,很清晰的显示。
  • 比起模式 2, 3来说,它对于画面的影响小。

因此,在图片中生成这类带有文字边缘的方法对于叠加字幕,特别是 TEASOFT教学软件 中自动生成字幕非常重要。

▲ 图1.1 在头条上不同视频的字母形式

▲ 图1.1 在头条上不同视频的字母形式

二、如何生成空心字体?

1、选择空心字体

在普通的字体中,绝大部分是没有这种带有文字边缘的字体,即所谓 的空心字体。

▲ 图1.1.1  不同的字体

▲ 图1.1.1 不同的字体

在常用的Windows下的华文彩云字体具有这类空心字体,但这是这类文字在实际的字幕中使用不多。

▲ 图1.1.2 华文彩云字体

▲ 图1.1.2 华文彩云字体

空心字体 网站可以下载更多的空心字体。

2、生成字体边缘

文字边缘轮廓制作教程-百度经验 给出了使用PS制作文字边缘的方法。这种方法只适合于对于少量静态文字生成带有边缘的文字,不适合于编程实现。

下面介绍一种产生文字边缘的简单方法 - 文字抖动方法

(1) 基本原理

文字抖动方法产生带有边缘文字原理很简单:就是首先使用边缘颜色,比如黑色,将文字在画面中进行显示,显示的位置往左右上下移动,它们叠加之后形成了原来文字加粗的形式。然后在将原来文字显示以白色显示在原来的位置。叠加之后便形成了带有边缘的字体了。

文字抖动方法就是指将文字上下左右位移叠加显示形成加速黑色背景的过程。

(2) 实验结果

下面分别是将测试文字上下左右各分别移动1,2之后叠加的结果。

▲ 图1.2.2 移动原来文字进行叠加显示形成加粗的形式

▲ 图1.2.2 移动原来文字进行叠加显示形成加粗的形式

▲ 图1.2.2 移动原来文字进行叠加显示形成加粗的形式移动距离为2

▲ 图1.2.2 移动原来文字进行叠加显示形成加粗的形式
移动距离为2

然后在将原来的文字使用白色进行显示,叠加在原来加粗文字的上面,于是便形成了带有边缘的字体了。

下面是分别移动1,2之后叠加出来的效果。

▲ 图1.2.3 叠加之后的效果

▲ 图1.2.3 叠加之后的效果

▲ 图1.2.4 叠加之后的效果

▲ 图1.2.4 叠加之后的效果

三、阴影空心文字

如果在原来上下左右移动 1 的情况下,再叠加一个往右下方移动 2 的阴影,则可以产生具有阴影的空心文字效果。

具体结果如下图所示:

▲ 图1.3.1 带有阴影边缘空心文字

▲ 图1.3.1 带有阴影边缘空心文字

 

试结论 ※


带有边缘的空心字体被广泛使用在各类视频的字母显示中,本文给出了一种简单的通过字体震动显示的方式产生空心字体的方法。这种方法可以在原来任何字体都生成相对应的空心字体。

▲ 图2.1.1 楷体字体空心文字

▲ 图2.1.1 楷体字体空心文字

▲ 图2.1.2 宋体字体空心文字

▲ 图2.1.2 宋体字体空心文字

▲ 图2.1.3 华文行楷字体空心文字

▲ 图2.1.3 华文行楷字体空心文字

▲ 图2.1.5 中心颜色为黄色的空心字体

▲ 图2.1.5 中心颜色为黄色的空心字体

最终这种方法在 TEASOFT 软件中得到了应用。


■ 附件

#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY                     -- by Dr. ZhuoQing 2021-09-11
#
# Note:
#============================================================
from head import *
textid = [4, 3, 5, 6]
originid = 2
whiteid = 15
text1id = [16, 17, 18, 19]
range = tspgetdoplocation([4,3,5,6])
printf(range)
x = 2100
y = 1600
n=2
tspsetdopxy(4, x+n, y)
tspsetdopxy(3, x-n, y)
tspsetdopxy(5, x, y+n)
tspsetdopxy(6, x, y-n)
tspsetdopxy(16, x+n, y-n)
tspsetdopxy(17, x-n, y+n)
tspsetdopxy(18, x+n, y+n)
tspsetdopxy(19, x-n, y-n)
tspsetdopxy(whiteid, x, y)
tsprv()
printf("\a")
#------------------------------------------------------------
#        END OF FILE : TEST1.PY
#============================================================

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31


■ 相关文献链接:

● 相关图表链接:

◎ 公众号留言:

  • Master :卓老师可以分享下TEASOFT软件么?
    • 作者: 链接: https://pan.baidu.com/s/1cxTNcy9PjpXpc7VR9N1vkw 提取码: qczu 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v5的分享
  • 最后一片傅里叶 :懂了 卓大大的意思是说 17届的赛道会是一个空心字
  • 小朋友 :有PS我不用,非要自己写算法,哎,就是玩
  • 梁飘จุ๊บ :卓老师可以分享下TEASOFT软件么?
    • 作者: 链接: https://pan.baidu.com/s/1cxTNcy9PjpXpc7VR9N1vkw 提取码: qczu 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v5的分享
  • 周琛 :说有PS我不用的,做一幅图可以用PS,做一个几小时纪录片的字幕还能用PS吗?
  • 不瘦20斤不改网名 :懂了下届赛道要会认空心字,看路牌跑了
  • Pacino :卓老师可以分享下TEASOFT软件么?
  • Obscure :用arctime做字幕可以调白边大小

文章来源: zhuoqing.blog.csdn.net,作者:卓晴,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuoqing.blog.csdn.net/article/details/120228492

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。