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

关键词空心字体字幕

#mermaid-svg-YrFvQkrgOiTWDX7E .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .label text{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .node rect,#mermaid-svg-YrFvQkrgOiTWDX7E .node circle,#mermaid-svg-YrFvQkrgOiTWDX7E .node ellipse,#mermaid-svg-YrFvQkrgOiTWDX7E .node polygon,#mermaid-svg-YrFvQkrgOiTWDX7E .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-YrFvQkrgOiTWDX7E .node .label{text-align:center;fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .node.clickable{cursor:pointer}#mermaid-svg-YrFvQkrgOiTWDX7E .arrowheadPath{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-YrFvQkrgOiTWDX7E .flowchart-link{stroke:#333;fill:none}#mermaid-svg-YrFvQkrgOiTWDX7E .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-YrFvQkrgOiTWDX7E .edgeLabel rect{opacity:0.9}#mermaid-svg-YrFvQkrgOiTWDX7E .edgeLabel span{color:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-YrFvQkrgOiTWDX7E .cluster text{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-YrFvQkrgOiTWDX7E .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-YrFvQkrgOiTWDX7E text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-YrFvQkrgOiTWDX7E .actor-line{stroke:grey}#mermaid-svg-YrFvQkrgOiTWDX7E .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-YrFvQkrgOiTWDX7E #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .sequenceNumber{fill:#fff}#mermaid-svg-YrFvQkrgOiTWDX7E #sequencenumber{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E #crosshead path{fill:#333;stroke:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .messageText{fill:#333;stroke:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-YrFvQkrgOiTWDX7E .labelText,#mermaid-svg-YrFvQkrgOiTWDX7E .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-YrFvQkrgOiTWDX7E .loopText,#mermaid-svg-YrFvQkrgOiTWDX7E .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-YrFvQkrgOiTWDX7E .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-YrFvQkrgOiTWDX7E .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-YrFvQkrgOiTWDX7E .noteText,#mermaid-svg-YrFvQkrgOiTWDX7E .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-YrFvQkrgOiTWDX7E .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-YrFvQkrgOiTWDX7E .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-YrFvQkrgOiTWDX7E .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-YrFvQkrgOiTWDX7E .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E .section{stroke:none;opacity:0.2}#mermaid-svg-YrFvQkrgOiTWDX7E .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-YrFvQkrgOiTWDX7E .section2{fill:#fff400}#mermaid-svg-YrFvQkrgOiTWDX7E .section1,#mermaid-svg-YrFvQkrgOiTWDX7E .section3{fill:#fff;opacity:0.2}#mermaid-svg-YrFvQkrgOiTWDX7E .sectionTitle0{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .sectionTitle1{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .sectionTitle2{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .sectionTitle3{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-YrFvQkrgOiTWDX7E .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E .grid path{stroke-width:0}#mermaid-svg-YrFvQkrgOiTWDX7E .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-YrFvQkrgOiTWDX7E .task{stroke-width:2}#mermaid-svg-YrFvQkrgOiTWDX7E .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E .taskText:not([font-size]){font-size:11px}#mermaid-svg-YrFvQkrgOiTWDX7E .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-YrFvQkrgOiTWDX7E .task.clickable{cursor:pointer}#mermaid-svg-YrFvQkrgOiTWDX7E .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YrFvQkrgOiTWDX7E .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YrFvQkrgOiTWDX7E .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-YrFvQkrgOiTWDX7E .taskText0,#mermaid-svg-YrFvQkrgOiTWDX7E .taskText1,#mermaid-svg-YrFvQkrgOiTWDX7E .taskText2,#mermaid-svg-YrFvQkrgOiTWDX7E .taskText3{fill:#fff}#mermaid-svg-YrFvQkrgOiTWDX7E .task0,#mermaid-svg-YrFvQkrgOiTWDX7E .task1,#mermaid-svg-YrFvQkrgOiTWDX7E .task2,#mermaid-svg-YrFvQkrgOiTWDX7E .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-YrFvQkrgOiTWDX7E .taskTextOutside0,#mermaid-svg-YrFvQkrgOiTWDX7E .taskTextOutside2{fill:#000}#mermaid-svg-YrFvQkrgOiTWDX7E .taskTextOutside1,#mermaid-svg-YrFvQkrgOiTWDX7E .taskTextOutside3{fill:#000}#mermaid-svg-YrFvQkrgOiTWDX7E .active0,#mermaid-svg-YrFvQkrgOiTWDX7E .active1,#mermaid-svg-YrFvQkrgOiTWDX7E .active2,#mermaid-svg-YrFvQkrgOiTWDX7E .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-YrFvQkrgOiTWDX7E .activeText0,#mermaid-svg-YrFvQkrgOiTWDX7E .activeText1,#mermaid-svg-YrFvQkrgOiTWDX7E .activeText2,#mermaid-svg-YrFvQkrgOiTWDX7E .activeText3{fill:#000 !important}#mermaid-svg-YrFvQkrgOiTWDX7E .done0,#mermaid-svg-YrFvQkrgOiTWDX7E .done1,#mermaid-svg-YrFvQkrgOiTWDX7E .done2,#mermaid-svg-YrFvQkrgOiTWDX7E .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-YrFvQkrgOiTWDX7E .doneText0,#mermaid-svg-YrFvQkrgOiTWDX7E .doneText1,#mermaid-svg-YrFvQkrgOiTWDX7E .doneText2,#mermaid-svg-YrFvQkrgOiTWDX7E .doneText3{fill:#000 !important}#mermaid-svg-YrFvQkrgOiTWDX7E .crit0,#mermaid-svg-YrFvQkrgOiTWDX7E .crit1,#mermaid-svg-YrFvQkrgOiTWDX7E .crit2,#mermaid-svg-YrFvQkrgOiTWDX7E .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-YrFvQkrgOiTWDX7E .activeCrit0,#mermaid-svg-YrFvQkrgOiTWDX7E .activeCrit1,#mermaid-svg-YrFvQkrgOiTWDX7E .activeCrit2,#mermaid-svg-YrFvQkrgOiTWDX7E .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-YrFvQkrgOiTWDX7E .doneCrit0,#mermaid-svg-YrFvQkrgOiTWDX7E .doneCrit1,#mermaid-svg-YrFvQkrgOiTWDX7E .doneCrit2,#mermaid-svg-YrFvQkrgOiTWDX7E .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-YrFvQkrgOiTWDX7E .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-YrFvQkrgOiTWDX7E .milestoneText{font-style:italic}#mermaid-svg-YrFvQkrgOiTWDX7E .doneCritText0,#mermaid-svg-YrFvQkrgOiTWDX7E .doneCritText1,#mermaid-svg-YrFvQkrgOiTWDX7E .doneCritText2,#mermaid-svg-YrFvQkrgOiTWDX7E .doneCritText3{fill:#000 !important}#mermaid-svg-YrFvQkrgOiTWDX7E .activeCritText0,#mermaid-svg-YrFvQkrgOiTWDX7E .activeCritText1,#mermaid-svg-YrFvQkrgOiTWDX7E .activeCritText2,#mermaid-svg-YrFvQkrgOiTWDX7E .activeCritText3{fill:#000 !important}#mermaid-svg-YrFvQkrgOiTWDX7E .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-YrFvQkrgOiTWDX7E g.classGroup text .title{font-weight:bolder}#mermaid-svg-YrFvQkrgOiTWDX7E g.clickable{cursor:pointer}#mermaid-svg-YrFvQkrgOiTWDX7E g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-YrFvQkrgOiTWDX7E g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-YrFvQkrgOiTWDX7E .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-YrFvQkrgOiTWDX7E .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-YrFvQkrgOiTWDX7E .dashed-line{stroke-dasharray:3}#mermaid-svg-YrFvQkrgOiTWDX7E #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E .commit-id,#mermaid-svg-YrFvQkrgOiTWDX7E .commit-msg,#mermaid-svg-YrFvQkrgOiTWDX7E .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-YrFvQkrgOiTWDX7E g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-YrFvQkrgOiTWDX7E g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-YrFvQkrgOiTWDX7E g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-YrFvQkrgOiTWDX7E .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-YrFvQkrgOiTWDX7E .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-YrFvQkrgOiTWDX7E .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-YrFvQkrgOiTWDX7E .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-YrFvQkrgOiTWDX7E .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-YrFvQkrgOiTWDX7E .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-YrFvQkrgOiTWDX7E .edgeLabel text{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-YrFvQkrgOiTWDX7E .node circle.state-start{fill:black;stroke:black}#mermaid-svg-YrFvQkrgOiTWDX7E .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-YrFvQkrgOiTWDX7E #statediagram-barbEnd{fill:#9370db}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-state .divider{stroke:#9370db}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-YrFvQkrgOiTWDX7E .note-edge{stroke-dasharray:5}#mermaid-svg-YrFvQkrgOiTWDX7E .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-YrFvQkrgOiTWDX7E .error-icon{fill:#522}#mermaid-svg-YrFvQkrgOiTWDX7E .error-text{fill:#522;stroke:#522}#mermaid-svg-YrFvQkrgOiTWDX7E .edge-thickness-normal{stroke-width:2px}#mermaid-svg-YrFvQkrgOiTWDX7E .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-YrFvQkrgOiTWDX7E .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-YrFvQkrgOiTWDX7E .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-YrFvQkrgOiTWDX7E .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-YrFvQkrgOiTWDX7E .marker{fill:#333}#mermaid-svg-YrFvQkrgOiTWDX7E .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-YrFvQkrgOiTWDX7E {color: rgba(0, 0, 0, 0.75);font: ;}

空心字体
文章目录
为什么需要
空心字体?
如何生成
空心字体?
选择空心字体
生成字体边缘
阴影空心文字
测试结论
附件
公众号留言:

§01 空心字体


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

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

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

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

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

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

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

二、如何生成空心字体?

1、选择空心字体

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

▲ 图1.1.1 不同的字体

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

▲ 图1.1.2 华文彩云字体

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

2、生成字体边缘

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

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

(1) 基本原理

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

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

(2) 实验结果

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

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

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

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

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

▲ 图1.2.3 叠加之后的效果

▲ 图1.2.4 叠加之后的效果

三、阴影空心文字

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

具体结果如下图所示:

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

※ 测试结论 ※


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

▲ 图2.1.1 楷体字体空心文字

▲ 图2.1.2 宋体字体空心文字

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

▲ 图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
#============================================================

■ 相关文献链接:

  • TEASOFT教学软件
  • 文字边缘轮廓制作教程-百度经验

● 相关图表链接:

  • 图1.1 在头条上不同视频的字母形式
  • 图1.1.1 不同的字体
  • 图1.1.2 华文彩云字体
  • 图1.2.2 移动原来文字进行叠加显示形成加粗的形式
  • 图1.2.2 移动原来文字进行叠加显示形成加粗的形式
    移动距离为2
  • 图1.2.3 叠加之后的效果
  • 图1.2.4 叠加之后的效果
  • 图1.3.1 带有阴影边缘空心文字
  • 图2.1.1 楷体字体空心文字
  • 图2.1.2 宋体字体空心文字
  • 图2.1.3 华文行楷字体空心文字
  • 图2.1.5 中心颜色为黄色的空心字体

◎ 公众号留言:

  • 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做字幕可以调白边大小

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

  1. PHP生成海报 文字描边,海报字体 怎么为海报字体添加描边样式?海报文字描边怎么做?海报字体描边样式制作...

    今天是十月的最后一天啦,转眼2019年只剩下两个月了,这时间啊,走得真快,还没好好感受呢,都快要2020年了.而小编倒好,还觉得现在是2018年呢~哈哈.好啦,不说废话了,还是来看看今天的教程方案吧! ...

  2. [转载]使用Java生成带有下划线字体的文字

    在.net中,对于Font类来说,可以直接使用常量来生成带有下划线的字体. 但是,到了Java中,想生成带有下划线的字体,就稍微复杂了一点,需要借助于TextAttribute类来生成,具体请参照下面 ...

  3. 使用Java生成带有下划线字体的文字

    HashMap<TextAttribute, Object> hm = new HashMap<TextAttribute, Object>(); hm.put(TextAtt ...

  4. html字体边缘怎么带颜色,带有html背景和字体颜色问题的MathJax

    当使用html背景和字体颜色时,以下html文件在显示模式下不显示LaTex表达式(分数a/b).另外,在内联模式下,使用背景和字体颜色时,分母会将较低的边缘切割一点(如下图所示).感谢您为我们提供M ...

  5. python生成带有表格的图片

    公众号:战渣渣 因为工作中需要,需要生成一个带表格的图片 例如: 直接在html中写一个table标签,然后单独把表格部分保存成图片 或者是直接将excel中的内容保存成一个图片 刚开始的思路,是直接 ...

  6. java生成word文档 图片_java生成带有图片的word的文档-Go语言中文社区

    生成带有图片的word的文档 @RequestMapping(params ="getWordByDate",produces = "text/html;charset= ...

  7. 「zi2zi」:用AI生成自己的手写字体

    导读 如果想要自己做一套字体,无论是电脑软件FontCreator还是网站flexifont都为我们带来了极大的便利. 但是最低的国标字体数量近7000个,若采用传统的方法则需要手写相同数量的汉字,这 ...

  8. reportlab 库生成带有表格的PDF报表文件

    用reportlab 库生成PDF文件的确很方便,对于简单的PDF文件的生成,可以直接使用最基本的一些drawXXX()方法来实现,具有可参见我的另一篇文章(https://blog.csdn.net ...

  9. R语言使用pheatmap绘制热力图(数据归一化、行列聚类、注释、文字角度、字体)

    R语言使用pheatmap绘制热力图(数据归一化.行列聚类.注释.文字角度.字体) 目录

最新文章

  1. 获取枚举值上的Description特性说明
  2. python numpy筛选 总数
  3. C++--在单文档的应用程序增加多个视图
  4. 探讨mutex与semaphore
  5. 如何把微信文章中的语音/音乐下载下来
  6. Pyqt5+python+ErIC6+QT designer
  7. docker 设置 jvm 内存_是否值得付费?Oracle,Open JDK等四大JVM性能全面对比
  8. AI队列长度检测:使用YOLO进行视频中的对象检测
  9. DotNetZip使用简介
  10. 基于范围的for循环
  11. web安全day12:PKI
  12. 当纺织遇上阿里云,数学博士钻进车间要让企业更高效
  13. 数据库仓库管理系统课程设计
  14. 自加载宏让你的Excel支持正则处理函数
  15. css让div背景变成半透明
  16. Barrett reduction
  17. 双线性插值实现图像放大算法 matlab,FPGA/verilog实现双线性插值图像放大
  18. 56腾讯搜狐优酷视频,utubu 视频去重去水印去logo字幕工具 搜狐网易爱拍b站视频,今日头条视频...
  19. 利用logic friday 把分组密码Present的S盒转化成布尔函数
  20. freeCodeCamp Slasher Flick

热门文章

  1. iOS多线程:『NSOperation、NSOperationQueue』详尽总结
  2. 使用CSS隐藏HTML元素的4种常用方法
  3. 软件架构中的分层技术
  4. 项目集成自动分词系统ansj,实现自定义词库
  5. Spring Cloud Spring Boot mybatis分布式微服务云架构(三)属性配置文件详解(1)
  6. Vim 快捷键整理【转】
  7. Serializable接口
  8. “开源”将成为物联网开发生态链的标准
  9. 如何学习Python开源项目代码
  10. Centos7+Mysql5.7实现主从复制