适当的HiDPI渲染Canvas元素(使用Konva.js)?

时间:2017-11-23 06:59:57

标签: canvas html5-canvas konvajs hidpi

我使用Konva.js中的组件构建了一个小的HTML5 Canvas动画。一切都很好,除了Canvas元素是我期望的2倍 - 我想因为我有一个HiDPI / Retina显示器。具体来说,元素看起来像

<canvas width="2048" height="1000" style="padding: 0px; margin: 0px; border: 0px; background: transparent; position: absolute; top: 0px; left: 0px; width: 1024px; height: 500px;"></canvas>

样式大小是我所期望的,但顶级宽度/高度属性值是双倍。

我在https://github.com/jondavidjohn/hidpi-canvas-polyfill尝试了HiDPI polyfill,但是这使得我的Canvas元素达到了预期的大小,Konva.js元素似乎没有调整大小,所有这些形状的布局都完全搞砸了。

所以我想知道是否有人使用Konva.js获得了良好的HiDPI行为 - 如果是,如何,如果没有,我可以如何使其工作的任何提示? (我的动画在尽可能多的设备上进行类似渲染非常重要。)

1 个答案:

答案 0 :(得分:1)

Konva.js自动处理视网膜显示。 Konva使所有画布尺寸增大两倍,以便自动在HDPI设备上获得清晰的结果。所以你不必担心它。