第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

canvas自適應(yīng)全屏問題!求助大神啊

代碼如下,問題是為什么第一次打開的時(shí)候一切正常,但是當(dāng)瀏覽器窗口大小變化的時(shí)候canvas里面的內(nèi)容就沒了呢。


var tangram = [

? ? ? { p: [{ x: 0, y: 0 }, { x: 800, y: 0 }, { x: 400, y: 400 }], color: "#cff67" },

? ? ? { p: [{ x: 0, y: 0 }, { x: 400, y: 400 }, { x: 0, y: 800 }], color: "#67becf" },

? ? ? { p: [{ x: 800, y: 0 }, { x: 800, y: 400 }, { x: 600, y: 600 }, { x: 600, y: 200 }], color: "#ef3d61" },

? ? ? { p: [{ x: 600, y: 200 }, { x: 600, y: 600 }, { x: 400, y: 400 }], color: "#f9f5la" },

? ? ? { p: [{ x: 400, y: 400 }, { x: 600, y: 600 }, { x: 400, y: 800 }, { x: 200, y: 600 }], color: "#a594c0" },

? ? ? { p: [{ x: 200, y: 600 }, { x: 400, y: 800 }, { x: 0, y: 800 }], color: "#fa8ecc" },

? ? ? { p: [{ x: 800, y: 400 }, { x: 800, y: 800 }, { x: 400, y: 800 }], color: "#f6ca69" }?

? ? ];

(function() {

? ? initHeader();

? ? addListeners();

? ? function initHeader() {

? ? ? ? width = window.innerWidth;

? ? ? ? height = window.innerHeight;

? ? ? ? canvas = document.getElementById('canvas');

? ? ? ? canvas.width = width;

? ? ? ? canvas.height = height;

? ? ? ? var context = canvas.getContext("2d");

? ? ? ? for (var i = 0; i < tangram.length; i++) {

? ? ? ? ? ? draw(tangram[i],context);

? ? ? ? }

? ? ? ??

? ? }

?

? ? function draw(piece,cxt) {

? ? ? cxt.beginPath();

? ? ? cxt.moveTo(piece.p[0].x, piece.p[0].y);

?

? ? ? for (var i = 1 ; i < piece.p.length; i++) {

? ? ? ? cxt.lineTo(piece.p[i].x, piece.p[i].y);

? ? ? }

?

? ? ? ? cxt.closePath(); ? ?


? ? ? ? cxt.fillStyle = piece.color;

? ? ? ? cxt.fill();

? ? ? ?

? ? ? ?

? ? ? ?

? ? }

? ??


? ? // Event handling

? ? function addListeners() {

? ? ? ? window.addEventListener('resize', resize);

? ? }

? ? function resize() {

? ? ? ? width = window.innerWidth;

? ? ? ? height = window.innerHeight;

? ? ? ? canvas.width = width;

? ? ? ? canvas.height = height;

? ? }



})();





正在回答

1 回答

畫布畫畫是不可修改的,已經(jīng)畫出來的東西是沒有DOM文檔節(jié)點(diǎn)進(jìn)行修改的,html文檔canvas下面是沒有其他元素的。其他元素寬高修改時(shí),該元素內(nèi)部是有DOM對(duì)象供瀏覽器進(jìn)行對(duì)寬高改變做出響應(yīng)的,而且canvas的寬高感覺像屬性,其他元素的寬高應(yīng)該是樣式屬性。畫布寬高改變了,好比換了一張不同的紙,或者說畫布改變了依附于他的東西丟失了原有的依附就沒發(fā)存在了。只知道畫布寬高改變內(nèi)容清空相當(dāng)于一塊新的畫布,具體原因沒想過,談?wù)剛€(gè)人的一點(diǎn)想法,沒有任何科學(xué)依據(jù)哈

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

小馬王 提問者

非常感謝!
2016-04-27 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

canvas自適應(yīng)全屏問題!求助大神啊

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)