Canvas实现带描边又带填充的艺术字,关键是先配置font、textAlign、textBaseline统一文字定位,再分别用不同渐变设置strokeStyle和fillStyle,严格按先strokeText后fillText顺序执行且y值一致。
Canvas 里实现带描边又带填充的艺术字,关键不是“先描边还是先填充”,而是让描边和填充各自用独立的样式、在同一坐标下按正确顺序执行。
文字位置和形态由 font、textAlign、textBaseline 共同决定,这些必须在绘制前统一配置,否则描边和填充容易错位:
"bold 48px 'Helvetica Neue', sans-serif",避免浏览器默认值差异"center" 或 "left",配合 x 坐标使用;居中时常用 canvas.width / 2
"alphabetic"(默认值),y 坐标含义稳定;若改用 "middle",y 需调整为垂直中心点strokeStyle 和 fillStyle 可分别赋值不同的渐变对象,互不干扰:
调用顺序直接影响视觉完整性:
strokeText(text, x, y),再 fillText(text, x, y),且两个 y 值完全一致批量渲染或高频更新时,注意减少状态切换开销: