知识文章 · 编写日期 2026-11-10

色漫描边字:加粗边线为何吃掉内色

因为默认顺序先画填充,再画描边;沿轮廓居中的描边会盖住一部分内侧填色。在支持paint-order的SVG中,把顺序改为stroke fill可先画边线、再用填充覆盖内半边。它改变覆盖顺序,不是把描边路径移到外侧。

色漫的漫画画面与标题制作知识,使用原创几何模型和非露骨拟声字。按W3C SVG 2绘制顺序章节讨论独立SVG元素,不把该属性冒称为所有绘画软件的同名功能。

色漫描边字绘制顺序对照:同宽矩形先填后描的内色宽128,先描后填为160,外沿都192;下方同一咚字展示覆盖差异
原创SVG教具。矩形路径宽160、描边32,比较远离拐角的截面;拟声字只作同条件外观示意,不是读者测试。 本站原创SVG几何截面与拟声字教具,真实SVG渲染示意,非漫画作品截图或可读性实测。

先画哪一层,决定哪一层盖在上面

SVG 2规定normal按填充、描边、标记的顺序绘制。paint-order: stroke fill则把描边放到填充之前;省略的标记仍在后面。这个顺序作用于单个图形或文字的绘制操作,不是整个文档中所有对象的前后次序。

漫画标题采用浅色字面和深色粗边时,默认顺序可能让细笔画中的浅色越来越窄。若目标是保留原来的字面形状,可尝试先描后填;如果目标本来是深色边线覆盖字面,则默认顺序也可能符合设计。不能只看参数名字判断好坏。

用矩形把差异量出来

原创模型的矩形路径宽160单位,填浅色,描深色,stroke-width设为32单位。不加变换、透明度或滤镜,只看远离拐角的水平截面。普通居中描边向内、向外各伸16单位。

先填后描时,左右各有16单位内色被盖住,可见浅色宽160-16-16=128单位;先描后填时,后画的实色覆盖内半边描边,浅色恢复到160单位。两版外沿跨度都为160+16+16=192单位。

因此先描后填没有把32单位边线全部推到外面。在这个模型中,外侧仍只伸16单位。如果需要更宽的可见外缘,要重新设定线宽并检查邻字间距;不能把paint-order当作描边对齐方式。

拟声字要连字腔和间距一起看

图中“咚”使用同一字形、同一字号、同一线宽,左侧先填后描,右侧先描后填。比较的是内色保留情况;没有测量读者辨认速度,也不把某一种外观称为统一漫画规范。矩形算例用于解释机制,不等于每个汉字笔画都有128或160单位宽。

填充覆盖内侧边线后,字外侧和字腔中的边线仍可能压缩空隙。特别是小字、复杂汉字和紧排标题,先描后填并不能自动打开所有字腔。应在最终尺寸下检查;需要时减细描边、加大字距或另选字形,而非无限加粗。

从最小对照到实际导出

先复制一个标题元素,只保留不透明填充、普通描边和相同字形。A用paint-order: normal,B用paint-order: stroke fill;保持字号、位置和stroke-width相同。若同时改字号或换字体,就不能把差异都归给绘制顺序。

SVG中fill=none的空心图形没有内色可覆盖描边;半透明填充也不会像本例实色那样完全遮住后方。若文件被转成图片,新的结果取决于实际渲染器;如果进入另一编辑器,应检查导入导出后有没有保留预期顺序。

保留可编辑源文件和一份最终尺寸预览。图形与文字的细节检查属于当前作品任务,不由一个CSS属性自动完成;本页也不更改本站已有漫画学习文章的画面。

动手核对

  1. 先确定问题是内色被盖住、外边太粗还是字腔太小,避免把三者混在一起。
  2. 复制一个实色填充标题,锁定字形、字号和线宽,只比较normal与stroke fill。
  3. 看内色、外沿、字腔和邻字间距,必要时分别调整线宽与间距。
  4. 在实际导出尺寸检查结果,记录使用的渲染器与仍未验证的目标环境。

常见问题

paint-order: stroke和stroke fill一样吗?

在这里的填充、描边、标记三种操作中,省略项按默认相对顺序追加,所以stroke等价于stroke fill markers。写全stroke fill更便于练习记录。

它会把这个字放到另一张图前面吗?

不会单凭这个属性改变不同元素的整体前后顺序。它处理该元素内部填充、描边与标记的绘制次序。

只改顺序就能让所有小字清楚吗?

不能。线宽、字腔、字距、背景和输出尺寸仍会影响效果,尤其要检查复杂字形的空隙。

依据与延伸阅读

继续阅读