【发布时间】:2014-04-18 09:50:53
【问题描述】:
我的 PhoneGap 应用程序存在来自两个 Canvas 对象的硬件加速问题。
我需要两个 Canvas 对象来比较两个不同的图像。在我的桌面/手持设备(浏览器)上,一切都很好,并且比较有效。
但是当我运行我编译的 Android 文件时,我得到了一个奇怪的行为。当我选择我的第一个图像时,它将加载到我的第一个画布中,然后当我选择我的第二个图像时,我的第一个图像将在两个画布中被覆盖,并且仅使用我画布中的第二个上下文。
我发现这个线程是硬件加速是市长问题。
Phone Android HTML5 Hardware Acceleration - Canvas
我也用于画布 EaselJS,当我在 Android 设备上测试以下代码时
<!DOCTYPE html>
<html>
<head>
<script src="http://code.createjs.com/easeljs-0.7.0.min.js"></script>
<script>
function init() {
var stage = new createjs.Stage("canvas1");
var stage2 = new createjs.Stage("canvas2");
var circle = new createjs.Shape();
circle.graphics.beginFill("red").drawCircle(0, 0, 50);
circle.x = 100;
circle.y = 100;
stage.addChild(circle);
stage.update();
var circle2 = new createjs.Shape();
circle2.graphics.beginFill("blue").drawCircle(0, 0, 50);
circle2.x = 100;
circle2.y = 100;
stage2.addChild(circle);
stage2.update();
}
</script>
</head>
<body onLoad="init();">
<canvas id="canvas1" width="500" height="300">
alternate content
</canvas>
<canvas id="canvas2" width="500" height="300">
alternate content
</canvas>
</body>
</html>
当硬件加速被激活时,我遇到了同样的问题,然后我得到了两个蓝色的圆圈,而不是一个红色和另一个蓝色。
我有什么方法可以激活硬件加速和画布绘制,还是 PhoneGap 的 PhoneGap 或 Android 问题?
【问题讨论】:
标签: android html canvas cordova html5-canvas