站長資訊網
        最全最豐富的資訊網站

        分享HTML5 Canvas畫印章效果實例代碼

        下面分享一個用HTML5 Canvas畫印章效果實例代碼,可以看一下

        <!DOCTYPE html>  <html>  <head>   <meta charset="gbk">   <title>HTML5 Canvas畫印章</title>  </head>  <body>      <canvas id="canvas" width="200" height="200"></canvas>  <script>     var canvas = document.getElementById("canvas");       var context = canvas.getContext('2d');     var text = "XXX專用章";     var companyName = "浙江網絡科技股份有限公司";        // 繪制印章邊框        var width = canvas.width / 2;     var height = canvas.height / 2;     context.lineWidth = 5;     context.strokeStyle = "#f00";     context.beginPath();     context.arc(width, height, 90, 0, Math.PI * 2);//寬、高、半徑     context.stroke();       //畫五角星     create5star(context,width,height,25,"#f00",0);        // 繪制印章名稱         context.font = '20px 宋體';      context.textBaseline = 'middle';//設置文本的垂直對齊方式      context.textAlign = 'center'; //設置文本的水平對對齊方式      context.lineWidth=1;      context.strokeStyle = '#f00';      context.strokeText(text,width,height+60);        // 繪制印章單位         context.translate(width,height);// 平移到此位置,      context.font = '23px 宋體'      var  count = companyName.length;// 字數      var  angle = 4*Math.PI/(3*(count - 1));// 字間角度         var chars = companyName.split("");      var c;     for (var i = 0; i < count; i++) {         c = chars[i];// 需要繪制的字符            if (i == 0) {             context.rotate(5 * Math.PI / 6);         } else{             context.rotate(angle);         }         context.save();         context.translate(70, 0);// 平移到此位置,此時字和x軸垂直,公司名稱和最外圈的距離         context.rotate(Math.PI / 2);// 旋轉90度,讓字平行于x軸         context.strokeText(c, 0, 0);// 此點為字的中心點         context.restore();     }     //繪制五角星        /**        * 創建一個五角星形狀. 該五角星的中心坐標為(sx,sy),中心到頂點的距離為radius,rotate=0時一個頂點在對稱軸上        * rotate:繞對稱軸旋轉rotate弧度        */      function create5star(context, sx, sy, radius, color, rotato) {          context.save();          context.fillStyle = color;          context.translate(sx, sy);//移動坐標原點          context.rotate(Math.PI + rotato);//旋轉          context.beginPath();//創建路徑          var x = Math.sin(0);          var y = Math.cos(0);          var dig = Math.PI / 5 * 4;          for (var i = 0; i < 5; i++) {//畫五角星的五條邊              var x = Math.sin(i * dig);              var y = Math.cos(i * dig);              context.lineTo(x * radius, y * radius);          }          context.closePath();          context.stroke();          context.fill();          context.restore();      }  </script>
        <!DOCTYPE html>  <html>  <head>   <meta charset="gbk">   <title>HTML5 Canvas畫印章</title>  </head>  <body>      <canvas id="canvas" width="200" height="200"></canvas>      <script>     var canvas = document.getElementById("canvas");       var context = canvas.getContext('2d');     var text = "XXX專用章";     var companyName = "浙江網絡科技股份有限公司";        // 繪制印章邊框        var width = canvas.width / 2;     var height = canvas.height / 2;     context.lineWidth = 5;     context.strokeStyle = "#f00";     context.beginPath();     context.arc(width, height, 90, 0, Math.PI * 2);//寬、高、半徑     context.stroke();       //畫五角星     create5star(context,width,height,25,"#f00",0);        // 繪制印章名稱         context.font = '20px 宋體';      context.textBaseline = 'middle';//設置文本的垂直對齊方式      context.textAlign = 'center'; //設置文本的水平對對齊方式      context.lineWidth=1;      context.strokeStyle = '#f00';      context.strokeText(text,width,height+60);        // 繪制印章單位         context.translate(width,height);// 平移到此位置,      context.font = '23px 宋體'      var  count = companyName.length;// 字數      var  angle = 4*Math.PI/(3*(count - 1));// 字間角度         var chars = companyName.split("");      var c;     for (var i = 0; i < count; i++) {         c = chars[i];// 需要繪制的字符            if (i == 0) {             context.rotate(5 * Math.PI / 6);         } else{             context.rotate(angle);         }         context.save();         context.translate(70, 0);// 平移到此位置,此時字和x軸垂直,公司名稱和最外圈的距離         context.rotate(Math.PI / 2);// 旋轉90度,讓字平行于x軸         context.strokeText(c, 0, 0);// 此點為字的中心點         context.restore();     }       //繪制五角星        /**        * 創建一個五角星形狀. 該五角星的中心坐標為(sx,sy),中心到頂點的距離為radius,rotate=0時一個頂點在對稱軸上        * rotate:繞對稱軸旋轉rotate弧度        */      function create5star(context, sx, sy, radius, color, rotato) {          context.save();          context.fillStyle = color;          context.translate(sx, sy);//移動坐標原點          context.rotate(Math.PI + rotato);//旋轉          context.beginPath();//創建路徑          var x = Math.sin(0);          var y = Math.cos(0);          var dig = Math.PI / 5 * 4;          for (var i = 0; i < 5; i++) {//畫五角星的五條邊              var x = Math.sin(i * dig);              var y = Math.cos(i * dig);              context.lineTo(x * radius, y * radius);          }          context.closePath();          context.stroke();          context.fill();          context.restore();      }  </script>

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久精品无码一区二区日韩AV | 久久精品人妻一区二区三区| 亚洲精品乱码久久久久久自慰| 国产亚洲综合成人91精品| 免费国产在线精品一区| 欧美亚洲国产精品久久蜜芽| 亚洲av永久无码精品网站 | 欧美精品福利视频一区二区三区久久久精品| 999成人精品视频在线| 亚洲中文字幕久久精品无码APP | 成人国内精品久久久久一区| 亚洲а∨天堂久久精品9966| 人精品影院 | 精品三级AV无码一区| 亚洲精品国产高清嫩草影院 | 欧美精品一二区| 国产69精品久久久久99| 国内精品手机在线观看视频| 精品乱码久久久久久久| 亚洲精品无码不卡在线播HE| 色婷婷噜噜久久国产精品12p| 国产偷伦精品视频| 中文精品久久久久国产网址| 国产精品麻豆高清在线观看| 国产精品ⅴ无码大片在线看| 久久综合精品国产二区无码| 亚洲国产主播精品极品网红| 久久久99精品一区二区| 国内精品久久久久久麻豆 | 亚洲?V无码成人精品区日韩| 精品久久久久久国产牛牛app| 国产成人亚洲精品影院| 精品一区二区三区免费| WWW国产精品内射老师| 国产亚洲欧美精品久久久| 国产精品亚洲片在线观看不卡| 日韩精品少妇无码受不了| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲精品乱码久久久久久| 一本一本久久A久久综合精品 | 国产网红无码精品视频|