最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
HTML5Canvassave怎么保存恢復狀態(tài)-創(chuàng)新互聯(lián)

這篇文章主要介紹HTML5Canvas save怎么保存恢復狀態(tài),文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)建站是一家專注于成都網站設計、網站建設、外貿網站建設與策劃設計,觀山湖網站建設哪家好?創(chuàng)新互聯(lián)建站做網站,專注于網站建設10年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:觀山湖等地區(qū)。觀山湖做網站價格咨詢:13518219792

在繪畫的時候,經常會有這種情況,本來正在用綠色筆畫,突然需要用紅色筆畫幾筆,但畫完了之后又要換成綠色筆。如果是在現(xiàn)實中作畫,可以把筆蘸上不同的墨水,畫了之后又蘸上之前的墨水,或者準備幾只筆,要用哪只就選哪只。

在Canvas中也可以這樣,不過Canvas中的畫筆永遠只有一只。所以,如果要更換畫筆的顏色,就需要保存和恢復狀態(tài)。狀態(tài)其實就是畫布當前屬性的一個快照,包括:

圖形的屬性值,如strokeStyle, fillStyle, globalAlpha, lineWidth, lineCap, lineJoin, shadowOffsetX, shadowOffsetY, shadowBlur, shadowColor等。

當前的裁切路徑。

當前應用的變換(即平移、旋轉和縮放)。

Canvas中,使用save()方法來保存狀態(tài),使用restore()方法來恢復狀態(tài)。Canvas狀態(tài)是以棧的方式來保存:每次調用save()方法,就會把當前狀態(tài)壓入棧頂保存;每次調用restore()方法,就會把棧頂?shù)臓顟B(tài)取出來,并把畫布恢復到這個狀態(tài),用這個狀態(tài)繪圖。

context.fillStyle = "red";
context.fillRect(10, 10, 180, 180);
context.fill();
context.save();                 // ① 棧: "red"
context.fillStyle = "green";
context.fillRect(30, 30,140,140);
context.save();                 // ② 棧: "red","green"
context.fillStyle = "blue";
context.fillRect(50, 50, 100,100);
context.restore();               // 恢復到 ② 的狀態(tài), 棧: "red","green"
context.beginPath();
context.fillRect(70, 70, 60, 60);   // 用棧頂?shù)臓顟B(tài)繪圖,填充"green"
context.restore();               // 恢復到 ① 的狀態(tài), 棧: "red"
context.fillRect(90, 90, 20, 20);   // 用棧頂?shù)臓顟B(tài)繪圖,填充" red "
context.fill();

上述代碼中,首先繪制第一個紅色的矩形。接著調用第一個save()方法,把第一個紅色矩形的狀態(tài)壓棧,此時棧中只有一個元素"red",記為 ①。然后把狀態(tài)設置為"green",繪制第二個矩形,此時繪制出的是綠色矩形。接著調用第二個save()方法,把第二個綠色矩形的狀態(tài)壓棧,此時棧中有兩個元素"red","green",棧頂元素為"green",記為 ②。接著繪制第三個藍色矩形,此處沒有調用save()方法,棧的狀態(tài)不變。接著調用restore()方法,恢復到 ② 的狀態(tài),繪制第四個矩形,此時棧頂元素為"green",故繪制出綠色矩形。接著再調用restore()方法,恢復到 ① 的狀態(tài),繪制第五個矩形,此時棧頂元素為"red",故繪制出紅色矩形。

HTML5Canvas save怎么保存恢復狀態(tài)

從本例可以看到,通過save-restore組合把代碼包裹起來,實質上是把save()方法和restore()方法之間的樣式包裹起來,這樣一來,它們就不影響后面繪制的圖形。

save()方法和restore()方法都可以被調用任意多次,并且可以嵌套。記住,save()方法和restore()方法總是成對出現(xiàn),每次調用restore()方法,都是恢復到最近一次調用save()方法時棧的狀態(tài),并用該棧頂所保存的狀態(tài)進行繪制。

以上是HTML5Canvas save怎么保存恢復狀態(tài)的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)成都網站設計公司行業(yè)資訊頻道!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前文章:HTML5Canvassave怎么保存恢復狀態(tài)-創(chuàng)新互聯(lián)
文章來源:http://fisionsoft.com.cn/article/dhgioh.html