最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript+html5 canvas繪制的小人效果

 更新時(shí)間:2016年01月27日 09:14:34   作者:m1870164  
這篇文章主要介紹了JavaScript+html5 canvas繪制的小人效果,涉及JavaScript結(jié)合html5 canvas圖形繪制及顏色隨機(jī)填充的技巧,需要的朋友可以參考下

本文實(shí)例講述了JavaScript+html5 canvas繪制的小人效果。分享給大家供大家參考,具體如下:

運(yùn)行效果截圖如下:

index.html代碼如下:

<!DOCTYPE html>
<html>
 <head>
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
  <title>canvas中的縮放</title>
  <style type="text/css">
   #canvas {
    background:black; margin-top:100px; margin-left:200px;
   }
  </style>
 </head>
 <body>
  <canvas id="canvas" width="500px" height="500px" ></canvas>
 </body>
 <script type="text/javascript" src="canvas.js"></script>
 <script type="text/javascript">
  cache = {};
  var offsetX = 50,
   offsetY = 20;
  cache.context = dyl.createContext('canvas');
  dyl.rect(dyl.createColor(), 60 + offsetX, 0 + offsetY, 185, 100);
  dyl.rect(dyl.createColor(), 100 + offsetX, 100 + offsetY, 100, 50);
  dyl.rect(dyl.createColor(), 20 + offsetX, 150 + offsetY, 260, 200);
  dyl.rect(dyl.createColor(), 80 + offsetX, 350 + offsetY, 30, 110);
  dyl.rect(dyl.createColor(), 190 + offsetX, 350 + offsetY, 30, 110);
  dyl.circle(dyl.createColor(), 115 + offsetX, 55, 20);
  dyl.circle(dyl.createColor(), 190 + offsetX, 55, 20);
 </script>
</html>

canvas.js代碼如下:

(function() {
  var dyl = {cache: {}};
  dyl.setContext = function(context) {
    dyl.cache._context = context;
    return context;
  }
  dyl.getDom = function(id) {
    return document.getElementById(id);
  }
  dyl._getContext = function() {
    return dyl.cache._context;
  }
  dyl.save = function() {
    var context = dyl._getContext();
    context ? context.save() : void(0);
  }
  dyl.restore = function() {
    var context = dyl._getContext();
    context ? context.restore() : void(0);
  }
  dyl.createContext = function(canvasID) {
    var canvas = this.getDom(canvasID);
    if(!canvas) {
      return null;
    }
    return dyl.setContext(canvas.getContext("2d"));
  }
  dyl.createColor = function() {
    var color = "rgb(";
    color += Math.round(Math.random()*255);
    color += ",";
    color += Math.round(Math.random()*255);
    color += ",";
    color += Math.round(Math.random()*255);
    color += ")";
    return color;
  };
  dyl.addImg = function(img, x, y) {
    var context = dyl._getContext();
    if(!img || !context) {
      return;
    }
    if(typeof img === "string") {
      var oImg = new Image();
      oImg.src = img;
      oImg.onload = function() {
        context.drawImage(oImg, x, y);
      }
      return;
    } 
    context.drawImage(img, x, y);
  };
  dyl.rect = function(color, x, y, width, height) {
    var context = dyl._getContext();
    if(!context) {
      return;
    }
    context.fillStyle = color;
    context.fillRect(x, y, width, height);
  };
  dyl.circle = function(color, x, y, r) {
    var context = dyl._getContext();
    context.save();
    context.fillStyle = color;
    context.beginPath();
    context.arc(x, y, r, 0, 2*Math.PI);
    context.fill();
    context.stroke();
  };
  dyl.scale = function(x, y) {
    var context = dyl._getContext();
    if(!context) {
      return;
    }
    x = x ? x : 1;
    y = y ? y : 1;
    context.scale(x, y);
  };
  if(!window.dyl) {
    window.dyl = dyl;
  }
})();

更多關(guān)于js特效相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery動(dòng)畫與特效用法總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《JavaScript動(dòng)畫特效與技巧匯總

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • JavaScript實(shí)現(xiàn)小程序圖片裁剪功能的示例代碼

    JavaScript實(shí)現(xiàn)小程序圖片裁剪功能的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實(shí)現(xiàn)小程序圖片裁剪功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-03-03
  • JS實(shí)現(xiàn)搜索關(guān)鍵詞的智能提示功能

    JS實(shí)現(xiàn)搜索關(guān)鍵詞的智能提示功能

    最近在百度搜索的時(shí)候,當(dāng)你輸入一個(gè)字或者詞的時(shí)候,他會(huì)給你們彈出一個(gè)下拉框出來,里面是和你相關(guān)的搜索提示,效果非常人性化,基于js怎么實(shí)現(xiàn)搜索關(guān)鍵詞智能提示功能,下面小編通過實(shí)例代碼給大家介紹下,需要的的朋友參考下吧
    2017-07-07
  • 數(shù)組方法解決JS字符串連接性能問題有爭議

    數(shù)組方法解決JS字符串連接性能問題有爭議

    大多數(shù)情況下,加法運(yùn)算符是首選;如果用戶主要使用IE6或7,并且字符串大小較大或數(shù)量較多時(shí),那么數(shù)組技術(shù)就很值得。
    2011-01-01
  • 一文詳細(xì)聊聊js新增基本類型BigInt

    一文詳細(xì)聊聊js新增基本類型BigInt

    ES2020新增?一個(gè)基本類型BigInt,表示任意精度格式的整數(shù),無符號(hào)整數(shù)類型,存儲(chǔ)任意長度的整數(shù),這篇文章主要給大家介紹了關(guān)于js新增基本類型BigInt的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • 使用JavaScript鏈?zhǔn)骄幊虒?shí)現(xiàn)模擬Jquery函數(shù)

    使用JavaScript鏈?zhǔn)骄幊虒?shí)現(xiàn)模擬Jquery函數(shù)

    這篇文章主要介紹了使用JavaScript鏈?zhǔn)骄幊虒?shí)現(xiàn)模擬Jquery函數(shù)的方法及源碼分享,非常的不錯(cuò),推薦給大家。
    2014-12-12
  • canvas繪制刮刮卡效果

    canvas繪制刮刮卡效果

    這篇文章主要為大家詳細(xì)介紹了canvas繪制刮刮卡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 微信瀏覽器下拉黑邊解決方案 wScroollFix

    微信瀏覽器下拉黑邊解決方案 wScroollFix

    這篇文章主要介紹了微信瀏覽器下拉黑邊解決方案 wScroollFix,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • JavaScript中異步與回調(diào)的基本概念及回調(diào)地獄現(xiàn)象

    JavaScript中異步與回調(diào)的基本概念及回調(diào)地獄現(xiàn)象

    這篇文章主要介紹了JavaScript中異步與回調(diào)的基本概念,以及回調(diào)地獄現(xiàn)象,本文主要介紹了異步和回調(diào)的基本概念,二者是JavaScript的核心內(nèi)容,需要所有熱愛JS的小伙伴深入了解,需要的朋友可以參考下
    2022-07-07
  • 記錄微信小程序 height: calc(xx - xx);無效問題

    記錄微信小程序 height: calc(xx - xx);無效問題

    這篇文章主要介紹了微信小程序 - height: calc(xx - xx);無效 問題,文中給大家擴(kuò)展介紹下jquery點(diǎn)擊添加樣式,再次點(diǎn)擊移除樣式的實(shí)例代碼,需要的朋友可以參考下
    2019-12-12
  • 通過js控制時(shí)間,一秒一秒自己動(dòng)的實(shí)例

    通過js控制時(shí)間,一秒一秒自己動(dòng)的實(shí)例

    下面小編就為大家?guī)硪黄ㄟ^js控制時(shí)間,一秒一秒自己動(dòng)的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10

最新評(píng)論

青川县| 渭源县| 石景山区| 岢岚县| 桦川县| 丹寨县| 库尔勒市| 汤原县| 乌什县| 大方县| 丰城市| 明水县| 新田县| 通榆县| 盈江县| 新龙县| 东乌珠穆沁旗| 鹤山市| 沙河市| 保德县| 襄城县| 日土县| 晋江市| 建阳市| 杂多县| 东乡| 西丰县| 大竹县| 西贡区| 繁峙县| 乌拉特后旗| 天峨县| 杭锦后旗| 济源市| 鹿邑县| 永嘉县| 朝阳县| 临漳县| 渑池县| 岱山县| 青冈县|