【问题标题】:The Text on The Canvas Looks Pretty Blurry画布上的文字看起来很模糊
【发布时间】:2018-06-14 06:09:08
【问题描述】:

当我在互联网上的编译器中运行代码时没有模糊,但是当我在我的项目中运行它时似乎很模糊。这可能是什么原因?照片和代码如下。

.ts 代码

    public DrawTheTree() {
    var canvas: HTMLCanvasElement = document.getElementById("tree_canvas") as HTMLCanvasElement;
    var context: CanvasRenderingContext2D = canvas.getContext("2d") as CanvasRenderingContext2D;
        context.beginPath();
        context.font = "16px Comic Sans MS";
        context.fillStyle = "white";
        context.textAlign = "center";
        context.fillText("Animals", 150, 15);
        context.closePath();    
    }

.html代码

<canvas id="tree_canvas" class="tree_canvas_class"></canvas>

.css 代码

.tree_canvas_class {
background-color: darkblue;
width: 936px;
height: 435px;
}

模糊照片:https://www.dropbox.com/s/mle8vepnyesapip/Capture.JPG?dl=0 所需照片:https://www.dropbox.com/s/g0fwn46ibrgascy/ss.JPG?dl=0

【问题讨论】:

标签: html css html5-canvas


【解决方案1】:

这可能是什么原因?

这就是画布的工作原理。 It's a raster image, not a vector.

您使用 16px 字体 (context.font = "16px Comic Sans MS") 创建文本,然后使用 CSS (width: 936px; height: 435px;) 将其放大。

有几种可能的解决方案可以使文本不模糊。

  • 不要使用画布。
  • 请勿调整画布大小。

【讨论】:

  • 我会先创建文本,然后展开画布吗?
  • 更新答案。
  • 不幸的是我不得不使用画布。
  • 这就是为什么第二个选项说,“不要调整 [it]”。
  • 为了澄清“不要调整大小”,如果你想要一个大的画布不要用 CSS 缩放它,只需创建一个更大的画布开始并用更大的字体大小填充它。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-16
  • 1970-01-01
  • 2018-03-17
  • 1970-01-01
  • 2012-10-28
相关资源
最近更新 更多