Html5 canvas restore ve save fonksiyonları ne işe yarar?
html5 canvas içerisinde kullandığımız restore ve save komutları o anki durumu kaydetmek ve çağırmak için kullanılır.
Bir örnekle açıklayayım.
<script type="text/javascript">
var can=document.getElementById("arif");
var c=can.getContext("2d");
c.fillStyle="#FF0000";
c.fillRect(0,0,100,100);
c.fillStyle="#b66a6a";//kırmızı
c.fillStyle="#406fcd";//mavi
c.save();
c.fillStyle="#61cd40";//yeşil
c.restore();
c.fillRect(200,200,100,150);
</script>Yukarıdaki örnekte canvas ve context tanımlanmakta. Daha sonrasında fillstyle a kırmızı renk tanımlanmaktadır. Örneğin bu tanımlamadan sonra dikdörtgen çizmeye kalksak kırmızı çizecektir. Daha sonra fillstyle a mavi tanımlanmaktadır. Ve bu tanımlama save metodu ile kaydedilmektedir.
Sonrasında fillstyle a yeşil tanımlanmaktadır. Burdan sonrasında restore komutu çalıştırdığımız için save komutunun uygulandığı duruma geri dönecektir. Yani sonraki komutta çizilen dikdörtgen yeşil renkte değil mavi renkte olacaktır. Style kaydedilmiş, daha sonrasında o style a geri dönülmüştür.