7

设置 WebGL 以呈现高每英寸点数显示器(例如 macbook 视网膜或像素 chromebook)上的所有本机像素的正确方法是什么?

4

1 回答 1

8

对于 WebGL,它相对简单。

var desiredCSSWidth = 400;
var desiredCSSHeight = 300;
var devicePixelRatio = window.devicePixelRatio || 1;

canvas.width  = desiredCSSWidth  * devicePixelRatio;
canvas.height = desiredCSSHeight * devicePixelRatio;

canvas.style.width  = desiredCSSWidth  + "px";
canvas.style.height = desiredCSSHeight + "px";

http://www.khronos.org/webgl/wiki/HandlingHighDPI

有符合这些规则的一致性测试。具体来说,不允许浏览器更改 WebGL 画布的画布后备存储的大小。

对于常规的 2D 画布,它不那么简单,但这不是问题所在。

于 2013-04-10T03:22:43.777 回答