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

        分享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號
        主站蜘蛛池模板: 精品无码国产自产拍在线观看蜜| 欧美日韩国产精品自在自线| 国产精品亚洲不卡一区二区三区| 久久99国产精品尤物| 久久久WWW成人免费精品| 国产亚洲一区二区精品| 亚洲精品无码午夜福利中文字幕 | 国产亚洲精品AA片在线观看不加载| 九九精品99久久久香蕉| 亚洲精品成a人在线观看| 精品国产AⅤ一区二区三区4区| 精品亚洲永久免费精品| 精品人无码一区二区三区| 中文精品久久久久人妻不卡| 久久精品国产欧美日韩| 国产精品毛片一区二区| 亚洲国产综合精品中文第一区 | 欧洲精品色在线观看| 亚洲国产精品综合久久一线| 精品久久久久久久中文字幕| 国产精品v欧美精品v日韩| 久久99国产精品99久久| 国99精品无码一区二区三区 | 亚洲国产精品无码久久SM | 久久精品无码一区二区三区| 99久久99久久精品免费看蜜桃| 久久棈精品久久久久久噜噜| 无码精品国产一区二区三区免费| 亚洲精品无码久久不卡| 亚洲精品国产高清嫩草影院| 亚洲精品无码久久久久AV麻豆| 亚洲精品国产va在线观看蜜芽| 亚洲精品动漫免费二区| 亚洲日韩中文在线精品第一| 一本色道久久88—综合亚洲精品| 亚洲精品动漫人成3d在线| 亚洲伊人久久精品影院| 亚洲精品二区国产综合野狼| 亚洲国产成人一区二区精品区| 亚洲高清专区日韩精品| 蜜臀久久99精品久久久久久小说|