- 浏览: 577157 次
- 性别:
- 来自: 杭州
博客专栏
-
大家一起JS
浏览量:214700
文章分类
- 全部博客 (98)
- WebApp (30)
- javascript (28)
- html (26)
- css (11)
- java (2)
- android (3)
- linux (19)
- spring (1)
- ibatis (1)
- apache (4)
- tomcat (1)
- mysql (4)
- lucene (0)
- 开源产品 (3)
- 关于我 (4)
- nutch (5)
- hadoop (2)
- SEO搜索引擎优化 (1)
- eclipse (4)
- 美工design (4)
- 行业应用 (2)
- php (2)
- 模板 (3)
- maven (1)
- 产品设计 (3)
- ios开发 (0)
- 无线开发 (1)
- Git (0)
- 手游 (0)
最新评论
-
zhunengfei:
mark
报错找不到jquery-1.10.2.min.map解决办法 -
笑笑和坤坤:
...
一个很简短的实现页面滚屏一小段的JS 与之共享 -
xiangkui:
美女,你确定可以这样做??还是 400 错误,可否配置发下?
Form表单如何传递List数组对象到后台的解决办法 -
进击的大树:
[list][*]引用[*][flash=200,200][u ...
报错找不到jquery-1.10.2.min.map解决办法 -
m1037327087:
美女,你好厉害哦!灰常感谢!
ExtJS4.1自带API打不开的问题解决
一、简单图形
,整套的属性和方法专门用于绘制矩形: 1、fillStyle可以设置为CSS颜色、一个图案或一种颜色渐变。fillStyle默认是纯黑色,你可以设置成你喜欢的任意颜色。只要页面打开着,每个绘图上下文都会记录自己的属性,除非你重置过它。 2、fillRect(x,y,width,height)绘制一个矩形,并以当前的fillStyle来填充。 3、srtokeStyle和fillStyle一样,可以设置为CSS颜色、一个图案或一种颜色渐变。 4、strokeRect(x,y,width,height)使用当前的storke style来绘制一个矩形,strokeRect并不填充中间区域,而只绘制矩形的边缘。 5、clearRect(x,y,width,height)清除指定矩形区域的像素。 二、路径
按
照惯例,不论开始绘制何种图形,第一个需要调用的就是beginPath。这个简单的函数不带任何参数,它用来通知canvas将要开始绘制一个新的图形
了。对于canvas来说,beginPath函数最大的用处是canvas需要据此来计算图形的内部和外部的范围,以便完成后续的描边和填充。 路径会跟踪当前坐标,默认值是原点。canvas本身也跟踪当前坐标,不过可能通过绘制代码来修改。 每一个canvas都有一个路径,定义路径就如同用铅笔作画。你可以任意作地画,但它不一定是最终作品的一部分,直到你拿起画笔沾上墨水描绘这条路径。 moveTo(x,y):不绘制,只是将当前位置移动到新目标坐标(x,y),并作为线条开始点。 lineTo(x,y):绘制线条到指定的目标坐标(x,y),并且在两个坐标之间画一条直线。不管调用它们哪一个,都不会真正画出图形,因为我们还没有主,调用stroke(绘制)和fil(填充)函数。当前,只是在定义路径的位置,以便后面绘制时使用。 closePath(),这个函数跟lineTo很像,唯一的差别在于closePath会将路径的起始坐标自动作为目标坐标。closePath还会通知canvas当前绘制的图形已经闭合或者形成了完全封闭的区域。起连接起点,闭合路径的作用。 三、文本
操作canvas文本的方式与操作其他路径对象的方式相同:可以描绘文本轮廓和填充文本内部,同时,所有能够应用于其他图形的变换和样式都能用于文本。context对象的文本绘制功能由两个函数组成: fillText(text,x,y,maxwidth) trokeText(text,x,y,maxwidth) 两
个的参数完全相同,必选参数包括文本参数以及用于指定文本位置的坐标参数。maxwidth是可选参数,用于限制字体大小,它会将文本字体强制收缩到指定
尺寸。此外,还有一个measureText函数可供使用,该函数会返回一个度量对象,其包含了在当前context环境下指定文本的实际显示宽度。 为了保证文本在各浏览器下都能正常显示,在绘制上下文里有以下字体属性 1、font可以是CSS字体规则中的任何值。包括:字体样式、字体变种、字体大小与粗细、行高和字体名称。 2、textAlign控制文本的对齐方式。它类似于(但不完全相同)CSS中的text-align。可能的取值为:start,end,left,right,和center. 3、textBaseline控制文本相对于起点的位置。可以取值有top,hanging,middle,alphabetic,ideographic和bottom。对于简单的英文字母,可以放心的使用top,middle或bottom作为文本基线。 四、颜色渐变
一旦我们拥有了绘图上下文,就可以开始定义一个颜色渐变。渐变是两种或更多颜色的平滑过度。canvas的绘图上下文支持两种类型的渐变: 1、createLinearGradient(x0,y0,x1,x1)沿着直线从(x0,y0)至(x1,y1)绘制渐变。 2、createRadialGradient(x0,y0,r0,x1,y1,r1)沿着两个圆之间的锥面绘制渐变。前三个参数代表开始的圆,圆心为(x0,y0),半径为r0。最后三个参数代表结束的圆,圆心为(x1,y1),半径为r1。 五、图片
canvas的绘图上下文中定义了几种绘制图片的方法: 1、drawIamge(image,dx,dy)接受一个图片,并将之画到canvaa中。给出的坐标(dx,dy)代表图片的左上角。比如,坐标(0,0)将把图片画到canvas的左上角。 2、drawIamge(image,dx,dy,dw,dh)接受一个图片,将其缩放为宽度dw和高度dh,然后把它画到canvas上的(dx,dy)位置。 3、drawIamge(image,sx,sy,sw,sh,dx,dy,dw,dh)接受一个图片,通过参数(sx,sy,sw,sh)指定图片裁剪的范围,缩放到(dw,dh)的大小,最后把它画到canvas上的(dx,dy)位置。 要
在canvas上绘制图像,需要一先有一个图片。这个图片可以是已经存在的<img>元素,或者通过JS创建。无论采用哪种方式,都需要在绘
制canvas之前,完全加载这张图片。浏览器通常会在页面脚本执行的同时异步加载图片。如果试图在图片未完全加载之前就将其呈现到canvas上,那么
canvas将不会显示任何图片。 六、渐变
渐变是指在颜色集上使用逐步抽样算法,并将结果应用于描边样式和填充样式中。使用渐变需要三个步骤: (1)创建渐变对象 (2)为渐变对象设置颜色,指明过渡方式 (3)在context上为填充样式或者描边样式设置渐变 要设置显示哪种颜色,在渐变对象上使用addColorStop函数即可。这个函数允许指定两个参数:颜色和偏移量。颜色参数是指开发人员希望在偏移位置描边或填充时所使用的颜色。偏移量是一个0.0到1.0之间的数值,代表沿着渐变线渐变的距离有多远。 除了可以变换成其他颜色外,还可以为颜色设置alpha值(例如透明),并且alpha值也是可以变化的。为了达到这样的效果,需要使用颜色值的另一种表示方法,例如内置alpha组件的CSSrgba函数. 除了线性渐变以外,HTML5 Canvas API还支持放射性渐变,所谓放射性渐变就是颜色会介于两个指定圆间的锥形区域平滑变化。放射性渐变和线性渐变使用的颜色终止点是一样的:参数如下: createRadialGradient(x0,y0,r0,x1,y1,r1) 代码中,前三个参数代表以(x0,y0)为圆心,r0为半径,后三个参数代表以(x1,y1)为圆心,r1为半径的另一个圆。渐变会在两个圆中间的区域出现。 七、背景图
直接绘制图像有很多用处,但在某些情况下,像CSS那样使用图片作为背景也非常有用。HTML5 Canvas API还支持图片平铺。调用createPattern函数。 八、绘制曲线(二次曲线)
quadraticCurveTo函数绘制曲线的起点是当前坐标,带有两组(x,y)参数,第二组是指曲线的终点。第一组代表控制点。所谓控制点位于曲线的旁边(不是曲线之上),其作用相当于对曲线产生一个拉力。通过调整控制点的位置,就可以改变曲线的曲率。 HTML5 Canvas API的其他曲线功能还涉及bezierCurveTo、arcTo和arc函数。这些函数通过多种控制点(如半径、角度等)让曲线更具可塑性。 九、缩放canvas对象
scale(x,y),
这个函数带有两个参数来分别代表在x,y两个维度的值。每个参数在canvas显示图像的时候,向其传递在本方向轴上图像要放大(或者缩小)的量。如果x
值为2,就代表所绘制图像中全部元素都会变成两倍宽。如果y值为0.5,绘制出来的图像全部元素都会变成之前的一半高。 注:
要在原点执行图形和路径的变换操作,执行完成以后再统一平移。理由是绽放(scale)和旋转(rotate)等变换操作都是针对原点进行的。如果对一个
人不在原点的图形进行旋转变换,那么rotate变换函数会将图形绕着原点旋转而不是在原地旋转。与之类似,如果进行缩放操作时没有将放置到合适的坐标
上,那么所有路径坐标都会被同时缩放。取决于缩放比例的大小,新的坐标可能会全部超出canvas范围,进而给开发人员带来困惑,为什么我的缩放操作会把
图像删了? 十、变换
变换操作并不限于缩放和平移,我们可以使用函数context.rotate(angle)来旋转图像,甚至可以直接修改底层变换矩阵以完成一些高级操作,如剪裁图像的绘制路径。如:context.rotate(1.57),旋转角度参数以弧度为单位。 beginPath():开始 moveTo(x,y):起点坐标 lineTo(x,y):目标坐标 closePath():连接起点,闭合路径 translate():移动 rotate():旋转 restore():恢复 scale():缩放 save():保存 rotate(angle):旋转图像 quadraticCurveTo():绘制曲线 stroke():绘制 strokeText():描绘文本轮廓 strokeStyle():颜色设置 strokeRect():使用当前的storke style来绘制一个矩形,而只绘制矩形的边缘。 fill:填充 fillRect():绘制一个矩形,并以当前的fillStyle来填充 fillStyle():样式填充 fillText:填充文本内容 drawIamge():图片填充 createPattern():使用背景图片填充 addColorStop():渐变填充 createRadialGradient():放射性渐变 clearRect():清除指定矩形区域的像素 .lineCap(butt | square | round):指定线条末端的样式 .fillStyle:设置为CSS颜色、一个图案或一种颜色渐变 .lineWidth:线条宽度设置 .lineJoin(round):修改当前形状中线段的连接方式,让拐角变得更圆滑 .shadowColor:任何css中的颜色值,可以使用透明度(alpha) .shadowOffsetX:像素值,值为正数,向右移动阴影;值为负数,向左移动阴影 .shadowOffsetY:像素值,值为正数,向下移动阴影;值为负数,向上移动阴影 .shadowBlur:高斯模糊值,值越大,阴影越模糊
发表评论
-
天猫前端9.10日深圳专场好机会!!
2017-09-06 23:04 618详细介绍请参考: https://zhuanlan.zhih ... -
适应不同手机分辨率的media query
2014-06-17 15:17 1398转载请注明: 转载自WEB前端开发(www.css119 ... -
可以根据不同的终端类型适当的改变正则表达式
2014-06-17 14:55 981转载请注明: 转载自WEB前端开发(www.css119.c ... -
使用的移动端Web开发常识
2014-06-17 14:52 1418转载请注明: 转载自WEB前端开发(www.css119.c ... -
zepto点透研究【转】
2013-11-13 17:05 1841文章源自:http://blog.youyo.name/ar ... -
CSS中z-index的层级树概念
2013-09-18 15:06 2319CSS 中的 z-index 属性用 于设置节点的堆叠顺序, ... -
报错找不到jquery-1.10.2.min.map解决办法
2013-09-12 16:15 25416我先说一下什么是source map文件。 ... -
字符编码笔记:ASCII,Unicode和UTF-8
2013-09-10 09:59 18331. ASCII码 我们知道, ... -
javascript的闭包和变量
2013-06-24 16:18 2321for(var i=0;i<10;i++) { setT ... -
Chorme下iframe请求多次的解决办法&SimpleModal的chorme bug
2013-06-09 10:53 11126Chorme下iframe加载会出现两次大家有没 ... -
正则表达式概述
2013-06-06 16:39 1716常用的正则表达式 匹 ... -
javascript的事件冒泡
2013-06-06 11:05 2170什么是JS事件冒泡?: 在一个对象上触发某类事件(比如单 ... -
window下基于eclipse的Nodejs工程项目配置步骤
2013-04-26 13:40 17353因为项目需要,我们要引用node.js作为网络服 ... -
Highcharts中文API
2012-12-12 15:15 10180var chart = new Highcharts.Char ... -
浏览器参数及JS基础配置总结
2012-12-11 14:40 20231.用script标签引入javascript时,浏览器对于j ... -
jquery.fn.extend与jquery.extend的区别
2012-11-27 17:10 3666jQuery为开发插件提拱了两个方法,分别是: Ja ... -
Backbone.js选型使用分析
2012-11-12 13:09 2142Backbone是一款很不 ... -
javascript闭包详解及实例分析
2012-11-06 13:45 1闭包就是一种在函 ... -
一个很简短的实现页面滚屏一小段的JS 与之共享
2012-10-10 10:51 3439如果有朋友在项目中需要实现,打开页面后要实现锚滚动一段以定位到 ... -
用JS实现效率最高的查找-折半查找的改进(可以查到不在数组中的值的位置)
2012-09-24 10:06 5208效率最高的查找方法-折半查找,也叫做二分法查找;可 ...
相关推荐
2.14_深入理解canvas图形变换|星空和图形变换|Canvas图形、动画、游戏开发从入门到精通全系列课程
- 通过分析压缩包中的代码,可以深入理解Canvas动画的实现过程。 - 学习相关教程和文档,如MDN的Canvas教程,有助于巩固理论知识和实践技巧。 - 参考其他开源的Canvas动画项目,了解不同的实现策略和技巧。 总的...
首先,让我们深入了解Canvas的基本概念。Canvas是一个基于矢量图形的画布,通过JavaScript API,我们可以用代码绘制各种图形、图像、文字等,并进行动态操作。这个特效的核心就是利用Canvas的drawPath()、rotate()等...
这个“canvas简单实例详解”将带你深入了解Canvas的基本用法和常见操作,为你的网页开发添加丰富的视觉效果。 一、Canvas基本结构 Canvas元素在HTML中以`<canvas>`标签表示,可以通过ID来引用并进行JavaScript操作...
通过分析这个项目,我们可以深入了解Canvas API以及如何构建复杂的动画效果。 首先,Canvas API提供了大量的绘图方法,如`fillRect()`, `strokeRect()`, `beginPath()`, `arc()`, `moveTo()`, `lineTo()`等,用于...
这个"canvas light.rar"压缩包很可能包含了...这个"canvas light.rar"压缩包可能包含的学习资料可以帮助我们深入理解Canvas的基本概念、API用法以及实践技巧,对于想要提升Web前端开发技能的人来说是一份宝贵的资源。
首先,让我们深入了解一下Canvas。Canvas是一个基于矢量图形的画布元素,通过JavaScript来控制它的内容。开发者可以使用Canvas API提供的方法,如`fillRect()`、`strokeRect()`、`arc()`等,来绘制各种形状和线条。...
这个游戏不仅展示了HTML5 Canvas的技术潜力,也为学习者提供了一个很好的实践案例,通过研究源代码,可以深入了解Canvas的绘图和游戏开发原理。同时,这个小游戏也表明,HTML5 Canvas不仅可以用于复杂的可视化应用,...
通过研究这个项目,你可以深入了解Canvas的绘图机制,以及如何在实际项目中应用这些知识。 总的来说,这个项目不仅展示了HTML5 Canvas的绘图能力,还结合了事件处理和交互设计,对于想要提升HTML5游戏或多媒体应用...
通过这个项目,开发者可以深入理解Canvas API的使用,以及如何在不同的设备上提供一致的用户体验。这个项目可以作为一个起点,进一步扩展到更复杂的画板应用,比如颜色选择、橡皮擦功能、保存和加载画作等。
HTML5 canvas是现代网页开发中的一个强大工具,它允许开发者在网页上进行动态...通过这个特效,开发者可以学习到如何利用HTML5 canvas创建出引人入胜的视觉体验,同时也可以深入理解canvas的底层机制和性能优化技巧。
在这个主题中,我们将深入理解Canvas API,3D变换原理,以及如何创建动态的、交互式的3D场景。 首先,Canvas API提供了JavaScript接口,使得程序员能够用代码绘制像素级别的图像。这包括画线、填充形状、文字渲染等...
通过这些示例,开发者可以深入理解Canvas的用法,并将其应用到实际项目中,创建出丰富的UI界面。 总之,Android的Canvas类是开发者实现动态图形、自定义视图的重要工具。掌握其用法和特性,可以极大地提升应用的...
要实现“在Canvas上显示动画”,我们需要深入理解Canvas的使用方式以及与动画相关的概念和技术。以下是对这个主题的详细阐述: 1. **Canvas基础**: Canvas是Android的图形绘制接口,提供了丰富的绘制方法,如...
首先,我们要理解Canvas的基本概念。HTML5 Canvas是一个基于矢量图形的画布,通过JavaScript来控制和绘图。开发者可以调用Canvas的API方法,如`fillRect()`、`strokeRect()`、`beginPath()`、`moveTo()`、`lineTo()`...
在这个游戏中,开发者巧妙地运用了canvas画布的特性,通过...通过学习这个游戏的实现,开发者可以深入理解canvas的绘图方法、JavaScript的游戏编程技巧,以及如何优化Web性能,对于提升Web开发能力具有极大的帮助。
【canvas demo】是一个关于HTML5 canvas...通过学习和分析这些代码,开发者能够深入理解canvas的图像处理能力,并将其应用到自己的项目中。无论是简单的图形绘制,还是复杂的图像编辑功能,canvas都能提供强大的支持。
开发这样一个组件,需要深入理解canvas API,包括如何绘制文本、线条、矩形等基本元素,以及如何高效地管理和更新画布上的内容。同时,也需要熟悉Vue的生命周期、组件通信和状态管理。 使用此组件,开发者可以轻松...
HTML5 Canvas是Web开发中的一...通过学习和分析这个例子,开发者可以深入理解Canvas API,提升在Web开发中的图形处理能力。无论是制作数据可视化图表、游戏还是复杂的交互式界面,HTML5 Canvas都是一个不可或缺的工具。