国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

HTML5 Canvas繪制五星紅旗

2020-03-24 16:50:40
字體:
來源:轉載
供稿:網友
Canvas 繪圖 API 都沒有定義在 canvas 元素本身上,而是定義在通過畫布的 getContext() 方法獲得的一個 繪圖環境 對象上。Canvas API 也使用了路徑的表示法。但是,路徑由一系列的方法調用來定義,而不是描述為字母和數字的字符串,比如調用 beginPath() 和 arc() 方法。一旦定義了路徑,其他的方法,如 fill(),都是對此路徑操作。繪圖環境的各種屬性,比如 fillStyle,說明了這些操作如何使用。使用Canvas畫中國國旗,代碼:XML/HTML Code復制內容到剪貼板
body canvasid= canvas width= 600 height= 400 /canvas scripttype= text/javascript //使用HTML5繪制標準五星紅旗 varcanvas=document.getElementById( canvas varcontext=canvas.getContext('2d'); varwidth=canvas.width; varheight=width*2/3; varw=width/30;//小網格的寬 context.fillStyle= red ; context.fillRect(0,0,width,height); varmaxR=0.15,minR=0.05;// varmaxX=0.25,maxY=0.25;//大五星的位置 varminX=[0.50,0.60,0.60,0.50]; varminY=[0.10,0.20,0.35,0.45]; //畫大☆ varox=height*maxX,oy=height*maxY; create5star(context,ox,oy,height*maxR, #ff0 ,0);//繪制五角星 //畫小★ for(varidx=0;idx 4;idx++){ varsx=minX[idx]*height,sy=minY[idx]*height; vartheta=Math.atan((oy-sy)/(ox-sx)); create5star(context,sx,sy,height*minR, #ff0 ,-Math.PI/2+theta); } //輔助線 context.moveTo(0,height/2) context.lineTo(width,height/2); context.stroke(); context.moveTo(width/2,0); context.lineTo(width/2,height); context.stroke(); //畫網格,豎線 for(varj=0;j 15;j++){ context.moveTo(j*w,0); context.lineTo(j*w,height/2); context.stroke(); } //畫網格,橫線 for(varj=0;j 10;j++){ context.moveTo(0,j*w); context.lineTo(width/2,j*w); context.stroke(); } //畫大圓 context.beginPath(); context.arc(ox,oy,maxR*height,0,Math.PI*2,false); context.closePath(); context.stroke(); //畫小圓 for(varidx=0;idx 4;idx++){ context.beginPath(); varsx=minX[idx]*height,sy=minY[idx]*height; context.arc(sx,sy,height*minR,0,Math.PI*2,false); context.closePath(); context.stroke(); } //大圓中心與小圓中心連接線 for(varidx=0;idx 4;idx++){ context.moveTo(ox,oy); varsx=minX[idx]*height,sy=minY[idx]*height; context.lineTo(sx,sy); context.stroke(); } //繪制五角星 /** *創建一個五角星形狀.該五角星的中心坐標為(sx,sy),中心到頂點的距離為radius,rotate=0時一個頂點在對稱軸上 *rotate:繞對稱軸旋轉rotate弧度 */ functioncreate5star(context,sx,sy,radius,color,rotato){ context.save(); context.fillStyle=color; context.translate(sx,sy);//移動坐標原點 context.rotate(Math.PI+rotato);//旋轉 context.beginPath();//創建路徑 varx=Math.sin(0); vary=Math.cos(0); vardig=Math.PI/5*4; for(vari=0;i 5;i++){//畫五角星的五條邊 varx=Math.sin(i*dig); vary=Math.cos(i*dig); context.lineTo(x*radius,y*radius); } context.closePath(); context.stroke(); context.fill(); context.restore(); } /script /body /htmlhtml教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鸡西市| 凌源市| 肇州县| 宁河县| 集安市| 双辽市| 绥棱县| 肥西县| 岳池县| 华坪县| 马尔康县| 彩票| 班戈县| 客服| 青浦区| 小金县| 林州市| 平泉县| 从化市| 铁岭市| 天峻县| 南乐县| 内丘县| 绥滨县| 鄄城县| 三亚市| 河北区| 板桥市| 安新县| 福贡县| 丰都县| 开化县| 桃园市| 新密市| 临汾市| 开原市| 察哈| 阳高县| 崇明县| 托里县| 巴塘县|