移動端前端項目--9_商品圖片canvas加載制作

http://www.w3school.com.cn/tags/html_ref_canvas.asp

http://www.w3school.com.cn/tags/canvas_drawimage.asp

一塑顺、canvas demo
1据忘、canvas01.html

<body>
  <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
    Your browser does not support the HTML5 canvas tag.
  </canvas>

  <script type="text/javascript">
    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");
    ctx.fillStyle="#f00";
    ctx.fillRect(20, 20, 150, 100);
  </script>
</body>
canvas01.gif

2、canvas02-createLinearGradient.html

canvas02.gif
<body>
  <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
    Your browser does not support the HTML5 canvas tag.
  </canvas> 
  <script type="text/javascript">

    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");

    // context.createLinearGradient(x0,y0,x1,y1);
    // x0: 漸變開始點(diǎn)的 x 坐標(biāo)
    // y0: 漸變開始點(diǎn)的 y 坐標(biāo)
    // x1:漸變結(jié)束點(diǎn)的 x 坐標(biāo)
    // y1:漸變結(jié)束點(diǎn)的 y 坐標(biāo)
    var grd=ctx.createLinearGradient(0, 0, 200, 0);

    // 如果您不對 gradient 對象使用addColorStop方法芳来,那么漸變將不可見牧抽。
    // 為了獲得可見的漸變,您需要創(chuàng)建至少一個色標(biāo)。
    // grd.addColorStop(stop, color)
    // stop:  介于 0.0 與 1.0 之間的值剪芥,表示漸變中開始與結(jié)束之間的位置。
    // color:在結(jié)束位置顯示的 CSS 顏色值
    grd.addColorStop(0, "black");
    grd.addColorStop(1, "white");
    
    ctx.fillStyle=grd;
    ctx.fillRect(10, 10, 200, 150);
  </script>
</body>

3琴许、canvas03-strokeText.html

<body>
  <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
    Your browser does not support the HTML5 canvas tag.
  </canvas> 
  <script type="text/javascript">

    var c=document.getElementById("myCanvas");
    var ctx=c.getContext("2d");

    ctx.font="30px Verdana";
    // Create gradient
    var gradient=ctx.createLinearGradient(0,0,c.width,0);
    gradient.addColorStop("0","magenta");
    gradient.addColorStop("0.5","blue");
    gradient.addColorStop("1.0","red");

    // Fill with gradient
    ctx.strokeStyle=gradient;
    // context.strokeText(text,x,y,maxWidth);
    // text:  規(guī)定在畫布上輸出的文本;x,y:開始繪制文本的坐標(biāo)位置(相對于畫布);
    // maxWidth 可選税肪。允許的最大文本寬度,以像素計榜田。
    ctx.strokeText("Hello world",10,90);
  </script>
</body>
canvas03-strokeText.gif

4益兄、HTML5 canvas drawImage() 方法

<body>

<p>要使用的圖像:</p>
![The Tulip](/i/eg_tulip.jpg)

<p>畫布:</p>
<canvas id="myCanvas" width="500" height="300" style="border:1px solid #d3d3d3;background:#ffffff;">
  Your browser does not support the HTML5 canvas tag.
</canvas>

<script>

  var c=document.getElementById("myCanvas");
  var ctx=c.getContext("2d");
  var img=document.getElementById("tulip");
  ctx.drawImage(img,10,10);

</script>
drawImage.gif

小技巧:HTML5 cavas畫布加載圖片

<!DOCTYPE HTML>  
<html>  
  
<body>  
  
<canvas id="myCanvas" width="500" height="500" style="border:1px solid #c3c3c3;">  
Your browser does not support the canvas element.  
</canvas>  
  
<script type="text/javascript">  
  
  var c=document.getElementById("myCanvas");  
  var cxt=c.getContext("2d");  
  var img=new Image()  
  img.src="/img/flower.png";  
    img.onload = function () //確保圖片已經(jīng)加載完畢  
  {  
    cxt.drawImage(img,100,100);  
}  
  
</script>  
  
</body>  
</html>  

二、案例wxshop:用canvas加載圖片
1箭券、修改index.html和pproductlist.html商品列表中的標(biāo)簽

<!-- ![](images/product/product1.png) -->
<canvas data-src="images/product/product1.png"></canvas>

2净捅、修改樣式(sass/module/content.scss)

canvas{
  width: 100px;
  min-height:100px;
  background: #fff url(../images/loading.gif) center center no-repeat;
  background-size: 15px auto; //不寫也沒關(guān)系???
}

3、添加mainconfig.js
1)常用函數(shù)放于js>commonobj.js中 ???

`

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末辩块,一起剝皮案震驚了整個濱河市蛔六,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌废亭,老刑警劉巖国章,帶你破解...
    沈念sama閱讀 211,496評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異豆村,居然都是意外死亡液兽,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評論 3 385
  • 文/潘曉璐 我一進(jìn)店門你画,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抵碟,“玉大人桃漾,你說我怎么就攤上這事∧獯” “怎么了撬统?”我有些...
    開封第一講書人閱讀 157,091評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長敦迄。 經(jīng)常有香客問我恋追,道長,這世上最難降的妖魔是什么罚屋? 我笑而不...
    開封第一講書人閱讀 56,458評論 1 283
  • 正文 為了忘掉前任苦囱,我火速辦了婚禮,結(jié)果婚禮上脾猛,老公的妹妹穿的比我還像新娘撕彤。我一直安慰自己,他們只是感情好猛拴,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,542評論 6 385
  • 文/花漫 我一把揭開白布羹铅。 她就那樣靜靜地躺著,像睡著了一般愉昆。 火紅的嫁衣襯著肌膚如雪职员。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,802評論 1 290
  • 那天跛溉,我揣著相機(jī)與錄音焊切,去河邊找鬼。 笑死芳室,一個胖子當(dāng)著我的面吹牛专肪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播渤愁,決...
    沈念sama閱讀 38,945評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼牵祟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了抖格?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,709評論 0 266
  • 序言:老撾萬榮一對情侶失蹤咕晋,失蹤者是張志新(化名)和其女友劉穎雹拄,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掌呜,經(jīng)...
    沈念sama閱讀 44,158評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滓玖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,502評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了质蕉。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片势篡。...
    茶點(diǎn)故事閱讀 38,637評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡翩肌,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出禁悠,到底是詐尸還是另有隱情念祭,我是刑警寧澤,帶...
    沈念sama閱讀 34,300評論 4 329
  • 正文 年R本政府宣布碍侦,位于F島的核電站粱坤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏瓷产。R本人自食惡果不足惜站玄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,911評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望濒旦。 院中可真熱鬧株旷,春花似錦、人聲如沸尔邓。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铃拇。三九已至钞瀑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間慷荔,已是汗流浹背雕什。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留显晶,地道東北人贷岸。 一個月前我還...
    沈念sama閱讀 46,344評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像磷雇,于是被迫代替她去往敵國和親偿警。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,500評論 2 348

推薦閱讀更多精彩內(nèi)容