久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

HTML5 CANVAS:繪制圖片

通過前面的學習,我們現在已經可以在HTML5 Canvas中繪制圖形和文字,并給它們設置一些樣式。我們還可以在canvas中繪制圖片。,HTML5中國,中國最大的HTML5中文門戶。
1.jpg


  通過前面的學習,我們現在已經可以在HTML5 canvas中繪制圖形和文字,并給它們設置一些樣式。我們還可以在<canvas>中繪制圖片。用于在<canvas>作為繪制源的圖片可以是下面的幾種元素類型:

  HTMLImageElement:可以是由Image()構造函數創建的圖片,也可以是任何的<img>元素。

  HTMLVideoElement:使用一個HTML<video>元素作為圖片源,會從視頻中截取當前幀作為圖片源。

  HTMLCanvasElement:也可以使用另一個<canvas>元素作為圖片源。


  繪制圖片

  我們可以通過2D上下文的三種方法來在<canvas>中繪制圖片。
  •   drawImage(image, dx, dy);
  •   drawImage(image, dx, dy, dw, dh);
  •   drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dw, dh);

  基本繪制圖片方法:drawImage(image, dx, dy)

  這個方法是在<canvas>中繪制一張圖片。image參數是要繪制的圖片,dx和dy參數是“destinationX”和“destinationY”的簡寫,這兩個參數決定在canvas中什么位置繪制圖片。

  下面是一個例子。這個例子在<canvas>中(0,0)位置開始繪制指定的圖片。
  1. var ctx = document.getElementById('ex1').getContext('2d');
  2. var img = new Image();
  3. img.onload = function(){
  4.     ctx.drawImage(img,0,0);
  5. };
  6. img.src = 'img/canvas-image-1.jpg';   
復制代碼

  上面的代碼的返回結果如下:

2.jpg

  繪制并縮放圖片:drawImage(image, dx, dy, dw, dh)
  第二種在<canvas>中繪制圖片的方法添加了兩個參數:dw和dh,這兩個參數分別是“destinationWidth”和“destinationHeight”的簡寫,它們決定在繪制圖片時是否對圖片進行縮放。

  下面的例子中,我們將繪制的圖片縮小1/3左右,然后將它重復排列形成一個網格。
  1. var ctx = document.getElementById('ex2').getContext('2d');
  2. var img = new Image();
  3. img.onload = function(){
  4.     for (var i=0;i<4;i++){
  5.       for (var j=0;j<5;j++){
  6.         ctx.drawImage(img,j*60,i*60,60,60);
  7.       }
  8.     }
  9. };
  10. img.src = 'img/canvas-image-2.jpg';      
復制代碼

  上面的代碼的返回結果如下:

3.jpg

  圖片切片方法:drawImage(image, sx, sy, sWidth, sHeight, dx, dy, dw, dh)
  第三種在<canvas>中繪制圖片的方法有8個參數。image是源圖片,sx和sy是“sourceX”和“sourceY”的簡寫,這兩個參數決定從什么位置開始在源圖片上裁剪出一個矩形區域,這個區域的圖片將會被繪制在Canvas中。sWidth和sHeight表示矩形區域的寬度和高度。剩下的4個參數和上面的繪制圖片方法中的描述相同??聪旅娴膱D片,圖片上標出了各個參數的位置。

4.jpg

  來看下面的一個例子。這個例子中,我們將源圖片剪裁出一部分,然后將它繪制在canvas的一個邊框圖片之上。
  1. var canvas = document.getElementById('ex3');
  2. var ctx = canvas.getContext('2d');
  3. // 繪制圖片切片
  4. ctx.drawImage(document.getElementById('source'),
  5.             98, 205, 104, 124, 21, 20, 87, 104);

  6. // 繪制邊框圖片
  7. ctx.drawImage(document.getElementById('frame'),0,0);      
復制代碼

  上面的代碼得到的結果如下:

5.jpg

  創建和調用圖片
  在你能夠在Canvas中繪制圖片之前,你需要創建一個Image對象,然后將圖片加載到內存中。下面是完成這個操作的js代碼:
  1. var image = new Image();
  2. image.src = "img/sample.png";   
復制代碼

  在你能夠繪制圖片之前,圖片必須被完全加載。為了確保圖片被完全加載,你可以為圖片添加一個事件監聽,這個事件監聽中的方法會在圖片被完全加載之后被調用。下面是一個示例代碼:
  1. image.addEventListener('load', drawImage1);
復制代碼

  或者:
  1. var img = new Image();
  2. img.onload = function(){
  3.     ctx.drawImage(img,0,0);
  4. };      
復制代碼

  本文版權屬于jQuery之家,轉載請注明出處:http://www.htmleaf.com/ziliaoku/ ... g/201507202267.html





【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

這篇文章主要介紹了基于HTML5 Canvas的3D動態Chart圖表的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了HTML5 Canvas 實現圓形進度條并顯示數字百分比效果示例,具有一定的參考價值,有興趣的可以了解一下
這篇文章主要介紹了HTML5 Canvas 旋轉風車繪制,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了html5 canvas合成海報所遇問題及解決方案總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
由于實際運行環境是在瀏覽器中,因此性能還取決于JavaScript解釋器的效率,指定的FPS幀速在低性能解釋器中可能不會達到,所以這部分不是開發者能夠決定的,開發者能作的是盡可能通
本文將使用HTML5提供的VideoAPI做一個自定義的視頻播放器,需要用到HTML5提供的video標簽、以及HTML5提供的對JavascriptAPI的擴展。,HTML5中國,中國最大的HTML5中文門戶。
主站蜘蛛池模板: 精品1区2区 | 午夜精品在线观看 | 欧美在线a | 99精品免费久久久久久久久日本 | 久久婷婷国产麻豆91 | 午夜精品91 | 波多野结衣先锋影音 | 免费在线观看成人 | 国产99免费视频 | 精品欧美激情精品一区 | 亚洲 欧美 精品 | 国产精品成人一区二区三区 | 欧美精品综合 | 四虎影视在线 | 欧美黄色一级毛片 | 亚洲成人精 | 极品电影院 | 亚洲一区导航 | 日韩三级电影一区二区 | 中文字幕第九页 | jizz在线看片| 精品在线观看入口 | 国产精品五区 | 日本在线免费看最新的电影 | 中文字幕在线免费观看 | 99在线精品视频 | 青青久在线视频 | 福利电影在线 | 欧美激情在线精品一区二区三区 | 欧美一区二区三区在线观看 | 国产精品一区二区三区99 | 在线成人免费视频 | 六月成人网 | 亚洲天堂中文字幕 | 久久精品色视频 | 91精品国产91久久久久久吃药 | 国产精品一区一区 | 欧美一二三区 | 日日操夜夜干 | 精品国产成人 | 麻豆a级片 |