0

我正在创建一个 html5 画布占据整个屏幕的游戏。但是当我使用

<meta name="viewport" content="width=device-width">

标签,画布在最新的 Android 版 Chrome 上被严重像素化。

我创建了一个简单的测试(可在此处获得):

<!DOCTYPE HTML>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
        <meta name="apple-mobile-web-app-capable" content="yes" />
        <meta names="apple-mobile-web-app-status-bar-style" content="black-translucent" />
    </head>
    <body>
        <canvas id="canvas"></canvas>
        <script>
            window.onload = function () {
                var canvas = document.getElementById("canvas"),
                    ctx = canvas.getContext("2d"),
                    radius = 0;

                canvas.width = window.innerWidth;
                canvas.height = window.innerHeight;

                radius = (canvas.width < canvas.height) ? canvas.width / 3 : canvas.height / 3;

                ctx.beginPath();
                ctx.arc(canvas.width / 2, canvas.height / 2, radius, 0, 2 * Math.PI, false);
                ctx.fillStyle = "red";
                ctx.fill();
            }
        </script>
    </body>
</html>

它在屏幕中间画了一个红点。除了适用于 Android 的 Chrome 之外,这在任何地方都适用。这呈现了这个

有谁知道发生了什么?

4

1 回答 1

0

您遇到的问题是由于在 Chrome for Android 中关闭了抗锯齿功能造成的。

此错误概述了问题: https ://code.google.com/p/chromium/issues/detail?id=285066

它似乎回到了 Chrome Beta 中的原始状态。

于 2013-11-24T23:36:13.257 回答