HTML5 Canvas 撤銷上一次操作

2022-07-29 08:45:08 字數 504 閱讀 3401

利用canvas的getimagedata複製當前畫布(canvas)上的內容進行儲存,再通過putimagedata將之前儲存的canvas內容覆蓋到畫布(canvas)上,以達到撤銷的功能。

getimagedata()方法返回 imagedata 物件,該物件拷貝了畫布指定矩形的畫素資料。

對於 imagedata 物件中的每個畫素,都存在著四方面的資訊,即 rgba 值:

color/alpha 以陣列形式存在,並儲存於 imagedata 物件的 data 屬性中。

putimagedata()方法將影象資料(從指定的 imagedata 物件)放回畫布上。

參考:

1

var imgdata;

2function canvas_copy()89

function canvas_paste()

1314

function pic_cancel()

HTML5 canvas 繪製圓形

canvas繪製圓形的思路 1 建立路徑 beginpath 2 建立圓形的路徑 3 關閉路徑 closepath 路徑不關閉也能繪製出圖形 4 設定繪製樣式。建立圓形路徑時需要用到物件的arc方法,方法定義如 arc x,y,radius,startangle,endangle,countercl...

HTML5 canvas擦除無效

部分安卓手機上會出現canvas內圖表重疊,並且清除無效,屬於偶現缺陷,非常難以確定其產生原因,比如下圖這個樣子,第一次繪製的圖形沒有擦除,導致第二次繪製時出現重影 初步考慮為裝置自身問題,引起canvasapi的context.clearrect執行無效。在經過一些嘗試之後,發現在每次擦除 cle...

HTML5canvas時鐘例項

直接放 不太好,還是簡單說說運用到的canvas知識 1 canvas 元素用於在網頁上繪製圖形。id c width 1000 height 400 canvas 2 canvas2d環境下繪製 var ogc oc.getcontext 2d 3 我要開始繪製路徑啦 ogc.begin path...