- 浏览: 19540 次
- 性别:
- 来自: 北京
最新评论
canvas是个神奇的标签,开始学习之后就停不下来,这两天一直在慕课网上学习canvas的动画,老师讲的很好,很详细,现在我就简单的总结一下这两天学的内容。
首先对于HTML中的代码很简单:
然后在JavaScript中获取canvas
context非常重要,它用来承载我们所要实现的内容
首先对于HTML中的代码很简单:
<canvas id = "canvas" style = "border:1px solid #eee;display:block;margin:0 auto"></canvas>
然后在JavaScript中获取canvas
window.onload = function () { var canvas = document.getElementById("canvas"); canvas.width = 1200; canvas.height = 795; context = canvas.getContext("2d"); }
context非常重要,它用来承载我们所要实现的内容
//直线 context.strokeStyle = "red";//直线的颜色 context.lineWidth = 3;//直线的宽度 context.beginPath(); context.moveTo(100,100); context.lineTo(800,800); context.closePath(); context.stroke();//绘制直线
//矩形 context.fillStyle = "blue";//矩形的填充颜色 context.strokeStyle = "black";//矩形的边框颜色 context.lineWidth = 3;//矩形边框的宽度 context.beginPath(); context.fillRect(100,100,200,100);//绘制一个起点在100,100位置宽200高100的矩形,矩形填充色为蓝色 context.strokeRect(100,100,200,100);//给矩形绘制宽度为3的黑色边框
//圆形 context.arc(x,y,r,o,f,true);//x:圆心的x坐标,y;圆心的y坐标,r:半径,o圆的起始位置,f:圆的终止位置,true or false:表示顺时针或者逆时针 //圆环 实现圆环是先画两个不一样大小的圆,要保证这两个圆的旋转方向是相反的,然后进行背景色的填充,这是根据非零环绕原则进行的区域填充 //直线渐变 var linearGrad = context.createLinearGradient(0,0,800,700); linearGrad.addColorStop(0.0,"#fff"); linearGrad.addColorStop(1.0,"#000"); context.fillStyle = linearGrad; context.fillRect(0,0,800,700); //径向渐变 var radiaGrad = context2.createRadialGradient(400,400,100,400,400,500); radiaGrad.addColorStop(0,"white"); radiaGrad.addColorStop(0.25,"yellow"); radiaGrad.addColorStop(0.5,"green"); radiaGrad.addColorStop(0.75,"blue"); radiaGrad.addColorStop(1,"black"); context2.fillStyle = radiaGrad; context2.fillRect(0,0,800,800); //图片填充 var img = new Image(); img.src = "1.jpg"; img.onload = function(){ var pattern = context.createPattern(img,"repeat");//repeat,repeat-x,repeat-y,no-repeat context.fillStyle = pattern; context.fillRect(0,0,800,600); } //线条的属性 lineCap="butt"//默认直线两端的样式 ="round" ="square" lineJoin = "miter" "bevel" "round" //曲线的绘制 context.moveTo(x0,y0); context.arcTo(x1,y1,x2,y2,r);//与x0y0到x1y1这条直线和x1y1到x2y2这条直线相切半径为r的曲线 //二次贝塞尔曲线 context.moveTo(x0,y0); context.quadraticCurveTo(x1,y1,x2,y2);//x1,y1为曲线的控制点,x0y0为曲线的起始点,x2y2为曲线的终止点 //三次贝塞尔曲线 context.moveTo(x0,y0); context.bezierCurveTo(x1,y1,x2,y2,x3,y3);//x1y1与x2y2为两个控制点
发表评论
-
css兼容问题
2018-02-26 13:14 4081. 就是 ie6 双倍边距的问题,在使用了 float 的情 ... -
css
2018-02-23 11:06 4541.#nav li {} 看起来很快,实际上很慢,尽管这让人 ... -
web标准
2018-02-22 14:25 417web标准简单来说可以分为结构、表现和行为。其中结构主要是有H ... -
总结一些每次写都要百度的样式 and so on
2016-06-03 14:00 496本次总结无关乎顺序, ... -
js检测css样式的兼容问题
2015-07-24 20:30 870<script> ... -
PHP正则表达式
2015-07-07 14:34 463正则表达式的基本语法 ... -
PHP字符串与数组常用函数
2015-07-07 10:42 2003字符串: 字符串的连接:PHP中用英文的点号.来连接两个字符串 ... -
DOM事件对象event、IE中的事件对象
2015-07-02 16:45 528DOM中的事件对象: type属性用于获取事件类型; targ ... -
跨浏览器事件处理程序
2015-07-02 16:03 502<div id = "box"& ... -
jQuery获取父级元素、同级元素、子元素、过滤
2015-07-01 15:50 517父级元素: <body>body (曾曾祖父) ... -
点击按钮实现轮播切换
2015-06-29 19:13 1013HTML: <div class="con3 ... -
jQuery验证邮箱手机
2015-06-29 19:03 543验证邮箱: function checkSignEmail ... -
ios多线程
2014-11-27 14:35 480最近写了一个东西需要加载网络上的图片,运行的时候一直卡到一个界 ... -
取出数组中的值
2014-11-01 21:08 333在写程序的时候,遇到一个问题,想把数组[a,b]中的a,b添加 ... -
解析json获取数据
2014-11-01 20:57 424NSError *error; NSURLReq ... -
cell重用问题
2014-11-01 20:44 601解决问题之前,在cell上添加了label,但是给label添 ... -
保存并获取数据
2014-09-27 19:38 325在IOS开发过程中,经常会遇到数据保存的问题,现在主要说一下用 ... -
UINavigationController实现页面跳转
2014-09-19 20:31 808总结一下利用navigationController push ... -
tableviewcell添加label、button
2014-09-13 22:02 16581.给tableviewcell添加label,首先 CG ... -
简单表视图并实现添加数据
2014-09-10 19:21 13511.基础:表用于显示数据列表。数据列表中的每项都由行表示。表视 ...
相关推荐
接下来,我们编写JavaScript代码(例如在`ballAnimation.js`文件中),初始化canvas画布并设置绘图环境: ```javascript const canvas = document.getElementById('ballCanvas'); const ctx = canvas.getContext('...
Android基础软件源码(Canvas画布).zip
画布Canvas基础知识讲解 HTML5 规范引进了很多新特性,其中最令人期待的之一就是 Canvas 元素。HTML5 Canvas 提供了通过 JavaScript 绘制图形的方法,此方法使用简单但功能强大。每一个 Canvas 元素都有一个“上...
在这个"Canvas画布全屏雪花背景特效.zip"中,我们看到的是一个利用JavaScript实现的全屏雪花飘落动画效果,非常适合用于网站背景,营造出冬季或者浪漫的氛围。 首先,我们要理解JavaScript在其中的角色。JavaScript...
这个"Android Canvas画布使用Demo源码.rar"压缩包很可能是为了展示如何在实际项目中利用Canvas来创建自定义视图或者进行复杂的图形渲染。下面我们将详细探讨Android Canvas的使用方法以及相关知识点。 1. **Canvas...
首先,我们来详细了解一下Canvas画布的基础知识。Canvas是一个基于矢量图形的HTML元素,通过JavaScript API来动态渲染图像。这个API提供了丰富的绘图函数,如描边、填充路径、绘制圆形、矩形、图像等,甚至可以创建...
在本文中,我们将深入探讨HTML5 Canvas技术和JavaScript特效,特别是如何实现"Canvas画布点击拖动粒子特效"。Canvas是HTML5的一个重要组成部分,它提供了一个二维绘图接口,允许开发者在网页上进行动态图形绘制。这...
### Delphi中Canvas(画布)运用 在Delphi编程中,`Canvas`是一个非常重要的概念,它提供了绘制图形的基本工具。本文将详细介绍Delphi中`Canvas`的基础知识及其应用场景。 #### 一、Canvas的基本概念 `Canvas`是...
在这个“html5 canvas画布随机颜色变化特效”中,我们将深入探讨如何利用Canvas API实现颜色的随机变化,为网页增添动态美感。 首先,我们需要在HTML文档中创建一个`<canvas>`元素,并通过JavaScript获取到它的引用...
在本Demo中,我们将深入探讨WebGL和Three.js中的Sprite和SpriteMaterial,以及如何结合Canvas画布进行更复杂的图形操作。 首先,让我们了解Sprite。在Three.js中,Sprite是一种特殊的几何体,它只由一个二维平面...
在"Canvas画布绘制螺旋点延伸特效.zip"这个压缩包中,可能包含了一个使用Canvas API创建动态螺旋点延伸效果的示例或代码库。这个特效可能用于网页的背景装饰、动画展示或者其他交互式设计。 首先,我们要理解Canvas...
本项目"javascript canvas画布编写飞机大战.zip"就是利用这个特性,构建了一个激动人心的飞行射击游戏——飞机大战。在这个游戏中,玩家可以控制一架飞机,与敌人在天空中展开激烈的战斗。 Canvas API是JavaScript...
Canvas画布是Android系统中用于图形绘制的核心组件,它是Android图形系统的重要组成部分,允许开发者在屏幕上绘制各种2D图形和文本。在这个“应用源码之(Canvas画布).zip”压缩包中,我们可以深入学习和理解如何在...
在这个“html5 canvas画布绘制燃烧的火焰动画特效”项目中,我们将探讨如何利用Canvas API来制作逼真的火焰燃烧效果,同时结合jQuery库以及相关的CSS样式来增强整体的视觉体验。 首先,`index.html`文件是整个网页...
2. **获取Canvas上下文**:通过JavaScript的`getElementById()`方法获取到`canvas`元素,然后调用其`getContext()`方法获取2D渲染上下文,这是绘制图形的基础。 ```javascript var canvas = document....
这个代码实现了一个简单的圆球在Canvas画布上弹跳的动画效果。当球碰到画布边缘时,它的速度会在X或Y轴上反转,从而实现弹跳效果。`requestAnimationFrame`函数用于平滑地在每一帧之间绘制动画,使得动画看起来更加...
《基于canvas画布的在线多人射击游戏源码解析》 在现代互联网游戏中,实时互动的多人在线射击游戏占据了重要地位,而实现这类游戏的关键技术之一就是HTML5的canvas元素。本篇文章将深入探讨一个基于canvas画布制作...
HTML5是现代网页开发的关键技术,它引入了许多新特性,如Canvas画布,使得开发者能够直接在网页上绘制图形,创建动态和交互式内容。Sonic.js是一个基于HTML5 Canvas的库,专为创建平滑、高性能的加载图标和动画而...