在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ canvas如何scale已經(jīng)畫過的東西

canvas如何scale已經(jīng)畫過的東西

現(xiàn)在我又一個(gè)長(zhǎng)800,寬400得canvas區(qū)域,然后手寫了幾個(gè)字在上面,然后我如何把寫過的字和畫布一起縮放到原來得1/10?

ctx.scale只能縮放畫布

回答
編輯回答
忠妾

再弄一個(gè)隱藏canvas,存的是你寫好字的狀態(tài),然后你得主canvas直接drawImage(canvas,)就好了 。你可以百度搜索一下 離屏canvas
意思就是將靜態(tài)數(shù)據(jù)繪制在離屏canvas上面,在當(dāng)前的canvas上面繪制離屏canvas,在再將動(dòng)態(tài)數(shù)據(jù)繪制在當(dāng)前canvas上面,這樣就能減少靜態(tài)數(shù)據(jù)的繪制次數(shù)。

2017年4月8日 23:04
編輯回答
墨小白
// 保存狀態(tài)
ctx.save(); 
// 縮放
ctx.scale(); 
// 放字
ctx.fillText("幾個(gè)字"); 

// 恢復(fù)狀態(tài)
ctx.restore(); 

translate/scale/rotate 最終的目的是控制下一次繪制的矩陣,所以要縮放對(duì)應(yīng)的圖形需要在繪制到畫布前做對(duì)應(yīng)的「矩陣變換」

2017年12月22日 01:53