canvas

canvas
html5的一个新标签,新功能相当的强大,性能是和用户的电脑相关的,不在一来浏览器。
行级标签
双标签
为了防止低版本的浏览器不支持,我们可以在标签内添加一些对用户说说出的话 对不起....

不能用style样式来控制canvas的宽高,这样会使其按照比例放大,是内部图形变形。
canvas的默认宽高是 300*150

canvas是通过js来控制的
现需要获取到canvas元素
然后获取到他的上上下文 进行这种操作 var context = canvas.getContext("2d");

先来几个简单的函数
context.moveTo(x,y) 将画笔移动到哪一个坐标
context.lineTo(x,y)画线从起始位置向什么位置画线

context.stroke() 将上上述的操作画到画布上去 只有边框
context.strokestyle = "red" 设置线的颜色
context.fill()也是画到画布上,但是会填充内容
context.fillstyle = "red" 设置填充的颜色
context.fillRect(i,j,100,100); 画矩形的函数 参数 其实位置的坐标 矩形的宽和高 并填充到画布上

context.arc(400,400,300,Math.PI0.5,Math.PI1.5,true);
画圆的方法 参数 圆心的坐标 圆的半径 圆的开始画的位置,圆的结束的位置,顺时针还是逆时针 true是逆时针 默认是逆时针

渐变
1.线性渐变
context.createLinearGradient(0,0,800,800);// 线性渐变
参数: 渐变的其实下标,渐变的终止下标
gra.addColorStop(1,"red"); 添加渐变色
渐变是两个坐标之间的变化,其实是把两个坐标之间的距离等分为0到1,通过设置0-1的不同的颜色就可以实现色彩斑斓的线性渐变


屏幕快照 2017-12-25 下午9.57.49.png

var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
context.beginPath();
var gra = context.createLinearGradient(0,0,800,800);// 线性渐变
gra.addColorStop(0,"yellow");
gra.addColorStop(0.5,"blue");
gra.addColorStop(1,"red");
context.fillStyle = gra;
context.fillRect(0,0,canvas.width,canvas.height);
2.径向渐变
context.createRadialGradient(200,200,20,200,200,200);
径向渐变比县线性渐变多了两个参数,分别是其实位置的半径,和终止位置的半径

canvas里面的添加文字
context.fillText("胖虎",100,100); 添加文字的方法
参数 文字内容,文字添加的位置 默认是 文字的左下角为指定的坐标
context.textBaseline = "middle"; 设置文字在竖直方向上的居中
context.textAlign = "center"; 设置文字在水平方向上的居中
设置了上面两个参数之后,干菜我们设置的坐标就在文字的正中间了

字体的设置
context.font = "bold 50px Arial"; // 设置字的大小必须给字体
参数 字体的font.weight 字体的字号 设置为什么字体

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一:canvas简介 1.1什么是canvas? ①:canvas是HTML5提供的一种新标签 ②:HTML5 ...
    GreenHand1阅读 10,222评论 2 32
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    Looog阅读 9,381评论 3 40
  • 一、canvas简介 1.1 什么是canvas?(了解) 是HTML5提供的一种新标签 Canvas是一个矩形区...
    J_L_L阅读 5,511评论 0 4
  • 一、基础介绍和画直线 大多数现代浏览器都是支持Canvas的,比如 Firefox, safari, chrome...
    空谷悠阅读 4,377评论 0 1
  • 今日完成工作: 1.上午,八点准时在六楼会议室复习昨天下午学习的冬小麦应用技术,背诵昨天考的试卷内容;九点准时参加...
    域往阅读 4,014评论 1 1

友情链接更多精彩内容