浅谈Canvas

Posted jlfw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈Canvas相关的知识,希望对你有一定的参考价值。

上一篇给大家讲了一下canvas的一些概念性的东西,这一篇我们来讲一下canvas的最基础的应用:

定义一个canvas:??

var ctx =document.getElementById_x("canvas").getContext(‘2d‘);

(1)画图

ctx.fillStyle="rgba(255,255,255,0.5)";

ctx.fillRect(0,0,100,100)

(2)画路径
?beginPath()和closePath()表示的是canvas里面的绘制路径,不加的话会出现灵异事件,灵异事件通俗的讲就是后绘制的图形不能精确的识别上一线的开始处;

  ctx.beginPath();
  ctx.fillStyle=‘#f00‘;
  ctx.moveTo(10,10);
  ctx.lineTo(100,100);
  ctx.lineTo(100,150);
  ctx.lineWidth=10;
  ctx.lineCap=‘round‘;   //这个用来定义线段终点的类型
  ctx.linejoin=‘round‘;    // 定义线段的连接类型
  ctx.stroke();
  ctx.closePath();

(3)画圆

里面传6个参数,分别是起始坐标,半径,开始弧度,结束弧度,旋转方向;

ctx.beginPath();
ctx.arc(50,50,50,0,Math.PI,true);
ctx.fill();
ctx.fillStyle=‘#00f‘;
ctx.closePath();

(4)渐变

?在canvas中我们可以用createLinearGradient() 和createRadialGradient
() 来进行渐变的设置

放射性渐变?
?(5)阴影

  ctx.shadowOffsetX = 2;
  ctx.shadowOffsetY = 2;
  ctx.shadowBlur = 2;
  ctx.shadowColor = ‘rgba(0,0,0,0.5)‘;
  ctx.font = ‘20px Times New Roman‘;   //文字
  ctx.fillStyle = ‘black‘;            //文字填充颜色
  ctx.fillText(‘Hello World‘,5,30)  //在画布上绘制填充颜色的文字

fillText是指在画布上绘制文本;fillText(text,x,y,maxWidth);

text -- 画布上输出文本;

x -- 相对于画布的X坐标

y -- 相对于画布的Y坐标

maxWidth -- 允许的最大文本宽度(可选参数)

本文转载于猿2048:浅谈Canvas




以上是关于浅谈Canvas的主要内容,如果未能解决你的问题,请参考以下文章

浅谈canvas绘画王者荣耀--雷达图

浅谈svg与canvas

Unity3d游戏开发浅谈UGUI中的Canvas以及三种画布渲染模式

自己定义View时,用到Paint Canvas的一些温故,简单的帧动画(动画一 ,"掏粪男孩Gif"顺便再提提onWindowFocusChanged)(代码片段

浅谈Mybatis

浅谈AngularJS中的$parse和$eval