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

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

沒運(yùn)行,只是看到,cvs.width=this.width;cvs.height=this.height; 能找到寬度和高度嗎?imageObj貌似沒有定義寬度和高度吧! 應(yīng)該是cvs.width=picwidth;吧!

正在回答

3 回答

這個(gè)地方的代碼,老師寫的有些問題。我來給你解釋一下。

第一,img.src="xxx.jpg"這行是給Img賦值,而img.onload=function(){...}只是給Img加上了一個(gè)事件,這兩行代碼的前后順序沒有關(guān)系的。因?yàn)槭录皇墙o這個(gè)元素訂閱了一個(gè)事件方法,但是你并沒有觸發(fā)這個(gè)事件,只有當(dāng)img.src被賦予了值并加載了這張圖片的時(shí)候才會(huì)觸發(fā)Onload事件。這個(gè)應(yīng)該很好理解。比如你訂閱了某一期的報(bào)紙,當(dāng)這一期報(bào)紙被印刷出來后就給你發(fā)消息。但是這個(gè)時(shí)候并沒有完成印刷,難道你叫印刷廠給你發(fā)消息有問題嗎。

第二,老師賦值高度和寬度的變量是canvas.getContext("2d")這個(gè)地方是錯(cuò)誤的,應(yīng)該是給畫布定義寬度高度,也就是canvas。同時(shí)寬高值也不應(yīng)該使用this.height, this.width,因?yàn)槲覀冎肋@里的this代表的是圖片Img對象,而圖片的寬高并不是我們計(jì)算出來的圖片應(yīng)該顯示的寬度和高度,應(yīng)該使用前面計(jì)算的picWidth. 所以onload函數(shù)應(yīng)該是

var?canvas=$("#canvas"+this.index);?
var?context=canvas.getContext("2d");
canvas.width=picWidth;
canvas.height=picHeight;
context.drawImage(img,?0?,?0);


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

小王子抓貓咪

剛才的代碼有個(gè)地方寫錯(cuò)了 var canvas=$("#canvas"+this.index).get(0); 因?yàn)?獲取的是JQuery對象,而我們需要的是DOM對象。
2016-04-02 回復(fù) 有任何疑惑可以回復(fù)我~

感覺實(shí)際上是他講解的邏輯先后的問題,imageObj.src 應(yīng)該在前面賦值,就好理解了。onload方法是加載的時(shí)候的回調(diào)函數(shù)

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

我針對這塊也不是很理解,希望老師能夠出來指點(diǎn)一下

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

舉報(bào)

0/150
提交
取消
移動(dòng)端的WEB相冊
  • 參與學(xué)習(xí)       47956    人
  • 解答問題       224    個(gè)

本課程通過一個(gè)移動(dòng)端相冊案例,帶您一步步了解移動(dòng)端框架

進(jìn)入課程
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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