【问题标题】:Canvas rectangel moody border [closed]帆布矩形喜怒无常的边框[关闭]
【发布时间】:2025-11-28 22:35:01
【问题描述】:

在画布上绘制一个矩形时,我得到了一个喜怒无常的淡出边框,我希望它变得清晰,如何?

    ctx.fillStyle = "#CF0"
    ctx.fillRect(0,0,20,20)

【问题讨论】:

  • 能否提供示例代码以及示例输出?也许通过 JSFiddle?
  • 可能是因为画布的抗锯齿。如果你这样做,你的边框会更好:ctx.fillRect(0.5,0.5,20.5,20.5)?

标签: javascript html canvas


【解决方案1】:

在画布中有两种不同且独立的尺寸:

  • 屏幕尺寸(.offsetWidth.offsetHeight
  • 以像素为单位的大小(.width.height

如果两者不相同,您的图形将看起来不准确(如果像素大小更小,则更加模糊)。

在某些情况下(例如 Apple“视网膜”显示器),您需要将像素大小精确地设置为屏幕大小的两倍才能获得准确的渲染。

【讨论】: