Ако искаш да запишеш canvas като изображение, имаш единствено:
var strDataURI = oCanvas.toDataURL();
//"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACt..."
Което връща картинката като адрес., който зареждаш в браузъра и даваш "save as". Това ни дава HTML5 canvas api.
Иначе можеш да ползваш: http://www.nihilogic.dk/labs/canvas2image/.
Ако говориш за състояние/статус на canvas елемент там е различно:
canvas.save() : Запазва статута
canvas.restore() : Връща последния запазен статут
Всички запазени сатути се натрупват в опашка и с restore() можем да се връщаме назад по тази опашка. В статута се запазват всички настройки и стилове по подразбиране, но не и нарисуваните обекти.