根据Paul Lewis的文章High DPI Canvas:您需要考虑context.backingStorePixelRatio
来解决模糊问题。
如果不推荐使用此属性,飞镖会处理高清设备上的模糊问题吗?
答案 0 :(得分:31)
我认为完全相同的事情并且Issue Tracker告诉我们:
是的,所以当Safari有一个支持商店时,这篇文章被写回来了 比率为2. Chrome中一直是1。
正如你所说,解决这个问题的方法是:
canvas.width = width * window.devicePixelRatio;
canvas.height = height * window.devicePixelRatio;
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
然而,
width
和height
是你想要的(可能是 window.innerWidth&完整视口恶作剧的innerHeight。)然后你只需要调整你放大画布的事实 用:
ctx.scale(window.devicePixelRatio, window.devicePixelRatio);
所以你有解决方案。