Я пишу небольшую демонстрационную программу для проверки холста + производительности. Но getImageData(), putImageData(), похоже, не работают. Он оставляет черный квадрат на холсте. Половина размера по ширине и высоте, конечно, учитывая, что window.devicePixelRatio - 2, что-то не совместимое. Программа отлично работает в браузере Chrome. Но не будет работать с помощью пусковой установки Cocoonjs 2.1.1.getImageData(), putImageData() не работает на Nexus 4, используя холст Cocoonjs +
Код:
I 'm using requestAnimationFrame(loop);
ctx.drawImage(origin_img,0,0,410, 180, 0, 0, width, height);
texture = ctx.getImageData(0,0,width,height);
loop{
ctx.clearRect(0,0,ctx.canvas.width,ctx.canvas.height);
ctx.fillStyle = 'red';
ctx.fillRect(0,0,width, height);
ctx.putImageData(texture, 0, 0);
}
Результат: Я могу видеть красный прямоугольник с 1/4 размера черным прямоугольником над ним. Может ли кто-нибудь помочь мне с этим?
ctx.drawImage() будет работать в программе.
==============================
Спасибо оба! Я отправил свой код по адресу
http://spikeyang.boxshell.com/static/js/src.zip
Чтобы увидеть результат, нажмите на ссылку 3, ссылка на water_ripple. Нажмите на верхнюю правую кнопку, чтобы вернуться на домашнюю страницу. Главный файл js - js/demo.js. Основной функцией является waterRippleLoop(). Я пробую какой-нибудь водяной рябь.
Не могли бы вы предоставить полный >> работая << исходный код для хрома? Спасибо. – Scdev
Пожалуйста, проверьте ссылку на код. Благодаря! – spikeyang
Эй, я думаю, это исходный код Cocoonjs. Не могли бы вы предоставить исходный код «chrome», так как я хочу поместить его в cocoonjs и проверить его самостоятельно, чтобы быть на 100% уверенным. (Не обязательно, чтобы все приложение просто проблема, но рабочий код, пожалуйста) – Scdev