为了账号安全,请及时绑定邮箱和手机立即绑定

canvas应用@font-face哪里不对吗怎么没有字体效果

canvas应用@font-face哪里不对吗怎么没有字体效果

慕仰0443758 2017-07-15 10:40:17
在canvas里加了几个文字,想应用@font-face添加网上下载的字体,怎么没效果<!DOCTYPE html><html><head><meta charset="UTF-8"><title>translate、scale的使用</title>  <style type="text/css">   @font-face{      font-family: "myfont";      src:url("fonts/BetterTogetherScript.ttf")  format('truetype');      font-style: italic;      font-weight: bold;   }  </style></head><body><canvas id="canvas" style = "display:block;margin:20px auto;border:1px dotted #911">    您的浏览器out啦,赶快更新至最新版本    </canvas>        <script type="text/javascript">        var canvas = document.getElementById('canvas');         var context = canvas.getContext('2d');        canvas.width = 800;        canvas.height = 800;        // var lg = context.createLinearGradient(0,0,0,canvas.height);        //    lg.addColorStop(0,"black");        //    lg.addColorStop(1.0,"#035");        //    context.fillStyle = lg;            var lg = context.createRadialGradient(canvas.width/2,canvas.height,0,canvas.width*0.5,canvas.height,canvas.height);           lg.addColorStop(0,"#049");           lg.addColorStop(1.0,"black");           context.fillStyle = lg;        context.fillRect(0,0,canvas.width,canvas.height);        window.onload = function(){            for(var i=0;i<100;i++){               var R = Math.random()*3+3;               var x = Math.random()*canvas.width;               var y = Math.random()*canvas.height*0.5;               var rot = Math.random()*360;               drawStar(context,x,y,R,rot);                          }             drawMoon(context,3/2,600,200,60,30);             drawLand(context);             context.font = "40px myfont";            var lg = context.createLinearGradient(0,0,800,0);            lg.addColorStop(0,"red");            lg.addColorStop(0.25,"orange");            lg.addColorStop(0.5,"yellow");            lg.addColorStop(0.75,"green");            lg.addColorStop(1.0,"purple");            context.fillStyle = lg;             context.fillText("draw star by canvas",300,500);        }        function drawStar(ctx,x,y,R,rot){           ctx.save();           ctx.translate(x,y);           ctx.rotate(rot/180*Math.PI);           ctx.scale(R,R);           startPath(ctx);                     // ctx.strokeStyle = "#aaa";           // ctx.lineJoin = "round";           // ctx.lineWidth = 2;           ctx.fillStyle = "yellow"           ctx.fill();           // ctx.stroke();           ctx.restore();        }        function startPath(ctx){           ctx.beginPath();           for(var i = 0;i<5;i++){               ctx.lineTo(Math.cos((18+72*i)/180*Math.PI),-Math.sin((18+72*i)/180*Math.PI));               ctx.lineTo(Math.cos((54+72*i)/180*Math.PI)*0.5,-Math.sin((54+72*i)/180*Math.PI)*0.5);           }           ctx.closePath();        }        /*绘制一轮弯月*/        function dis(x1,y1,x2,y2){          return Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));       }       function drawMoon(context,d,x,y,R,rot,fillColor){            /*画一轮弯月的通用函数*/          context.save();          context.translate(x,y);          context.rotate(rot/180*Math.PI);          context.scale(R,R);         pathMoon(context,d);          context.fillStyle = fillColor||"#fc6";          context.fill();          context.restore();       }       function pathMoon(context,d){          context.beginPath();          context.arc(0,0,1,1/2*Math.PI,3/2*Math.PI,true);                   context.moveTo(0,-1);          context.arcTo(d,0,0,1,dis(0,-1,d,0)/d);          context.closePath();       }       /*绘制一片草地*/       function drawLand(context){          context.save();          context.beginPath();          context.moveTo(0,600);          context.bezierCurveTo(260,400,480,800,800,600);          context.lineTo(1200,800);          context.lineTo(0,800);                  context.closePath();                    var lg2 = context.createLinearGradient(0,800,0,0);          lg2.addColorStop(0,"#030");          lg2.addColorStop(1.0,"#580");          context.fillStyle = lg2;          context.fill();          context.restore();       }    </script></body></html>
查看完整描述

1 回答

?
慕仰0443758

TA贡献3条经验 获得超0个赞

沉了吗

查看完整回答
反对 回复 2017-07-17
  • 1 回答
  • 0 关注
  • 2132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信