html - Canvas 中文字轮廓的刺

标签 html canvas html5-canvas

我正在使用 html5 canvas 绘制一些文本,但我得到了一些丑陋的结果,这是我绘制文本的示例代码:

  var canvas = document.getElementById('myCanvas');
  var context = canvas.getContext('2d');
  var x = 80;
  var y = 110;

  context.fillStyle = "white"
  context.font = '13px Arial';
  context.lineWidth = 3;
  // stroke color
  context.strokeStyle = 'black';
  context.strokeText('ABCDEFGHIJKLMNOPQRSTUVWXYZ!', x, y);
  context.fillText('ABCDEFGHIJKLMNOPQRSTUVWXYZ!', x, y); 

我得到了这个结果

enter image description here

然后我将文本更改为“abs”并得到了这个

enter image description here

你可以看到“M”和“s”看起来很难看,有没有人知道如何解决这个问题?

最佳答案

这不是因为字体和大小,而是因为笔画路径中的线条是如何连接的。

通过改变 line-join 方法,尖峰将消失:

context.lineJoin = 'round';

关于html - Canvas 中文字轮廓的刺,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20236304/

相关文章:

Javascript 函数未正确显示警报

javascript - 将 Canvas 或控制点转换为 SVG

javascript - 如何使用 html 或 javascript 将光标样式设置为圆圈

javascript - 在 JavaScript 中动态加载的绘制到 Canvas 上的图像具有不正确(但接近)的 RGB 值

javascript - 在 HTML Canvas 元素中定位圆圈的问题

javascript - 将用户选择从一个 Canvas 复制到另一个 Canvas

javascript - 基于操作系统的条件 CSS

HTML - 如何将段落分成同样宽的行?

javascript - 需要 jquery 模式弹出指导。我究竟做错了什么?

html - 如何使用 CSS3 更改图像的颜色?