我正在构建一个横幅生成工具来自动化我们的工作流程。但是我在渲染字体时发现了一个问题(我稍后会添加一些截图)。
如果我们使用完全相同的字体和字体粗细,并且我使用的是 mac,那么它就是一个视网膜屏幕:
如果我查看设计应用程序中的文本(无论它是用 Photoshop、Sketch 还是基于 webgl 的设计工具 Figma 制作的),它看起来非常清晰(平滑),这是理想的。
如果我使用 html/css 来渲染字体,那么字体看起来比在设计应用程序中要厚得多。它使我的文本看起来更忙,因为汉字本身在视觉上比英文字符更复杂。但是如果我使用-webkit-font-smoothing:antialiased,那么文本的渲染几乎和设计应用程序一样,也是相当不错的。
但是,我的工具必须使用canvas,因为html / css对设计应用程序的某些效果的支持很差,然后我发现,canvas中的文本渲染似乎也很厚。而且,我还没有找到像 -webkit-font-smoothing: antialiased 这样的方法来完全修复它。我能做的唯一改进是将画布缩放到 3 倍甚至 4 倍。我确实发现,当画布缩放到 4 倍大时,字体会变细,但距离 -webkit-font-smoothing: antialiased 的效果仍然很远。
有什么方法可以使画布文本渲染结果与 -webkit-font-smoothing: antialiased in html/css 相同?