Что самый быстрый путь состоит в том, чтобы переместить прямоугольное (пиксель) регион в элементе холста HTML5

Я хочу реализовать вертикальную прокрутку содержания элемента холста HTML5. Я не хочу представлять целое содержание снова. Вместо этого я хотел бы переместить целое содержание вниз / и только представить область, которая была прокручена в представление.

Я экспериментировал с getImageData и putImageData функции, но в моих тестах они являются почти столь же медленными как перекрашивание целой сцены.

// scroll 20px down
var data = ctx.getImageData(0, 0, width, height-20);
ctx.putImageData(0, 20);

Что самый быстрый путь состоит в том, чтобы скопировать прямоугольные пиксельные регионы в элементе холста?

7
задан Fabian Jakobs 11 January 2010 в 10:25
поделиться

2 ответа

Попробуйте следующее:

ctx.drawImage(ctx.canvas, 0, 0, width, height-20, 0, 20, width, height-20);

drawImage может принимать либо HTMLImageElement , либо HTMLCanvasElement или HTMLVideoElement для первого аргумента.

12
ответ дан 6 December 2019 в 10:00
поделиться

В моих проектах есть много похожих связей, но я часто запрещаю устанавливать для client_id значение null, поэтому не могу создать дочерний объект без родительского объекта.

Попробуйте

sub = Subscription.new
sub.build_client
sub.save

Создать и сохранить оба объекта.

-121--3320753-

Попробуйте добавить новый «XML-файл Android», например, в папку /res/layout . Это может привести к регенерации подключаемого модуля класса R .

-121--842796-

Для абсолютной скорости используется сверхразмерный < холст > внутри < div > с переполнением: скрытый , наборы затем используются обычные методы DOM для прокрутки < холст > внутри < div > .

Конечно, это приносит в жертву использование памяти в пользу скорости.

7
ответ дан 6 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: