Некоторое время назад я показывал кому-то, как создать эффект анимированной рисованной линии на холсте. Техника рисования рисовала чуть больше изображения в каждом кадре, что, кажется, делает в значительной степени то, что вы хотели бы. Другими словами:
var amount = 1;
function drawMore() {
ctx.clearRect(0,0,can.width, can.height);
ctx.drawImage(can2, 0, 0, can.width, amount, 0, 0, can.width, amount);
amount++;
}
setInterval(drawMore, 90);
Не нарисует ни одного изображения, затем нарисует верхний ряд пикселей, затем нарисует два верхних ряда пикселей и т. Д. Посмотрите:
http://jsfiddle.net/GfGVE/28/